این کد صفحه Html است
و این پایینی هم کد PHPکد:<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <!DOCTYPE HTML> <html> <body> <form action="insert.php" method="post"> rrslink: <input type="text" name="rrslink"><br> sitename: <input type="text" name="sitename"><br> type: <input type="text" name="cate"><br> <input type="submit"> </form> </body> </html>
هر چقدر سرچ کردم ، فکر کردم نتونستم دلیل این خطا رو پیدا کنمکد:<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <?php $servername = "localhost"; $username = "Myuser"; $password = "Mypass"; $dbname = "Mydb"; //echo $_POST["rrslink"]."-------->".$_POST["sitename"]."---------->".$_POST["$cate"]; $rrslink=$_POST["rrslink"]; $sitename=$_POST["sitename"]; $cate= intval($_POST["cate"]); try { $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); // set the PDO error mode to exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "INSERT INTO rrsTB(rrslink,sitename,type) VALUES ($rrslink,$sitename,$cate)"; // use exec() because no results are returned $conn->exec($sql); echo "New record created successfully"; } catch(PDOException $e) { echo $sql . "<br>" . $e->getMessage(); } $conn = null; ?>
اولش فکر می کردم چون تابع intval رو برای تبدیل رشته به عدد نزاشتم این خطا رو می ده درست نشد ، بعدش فکر کردم که یکی از فیلدها کلمات کلیدی هست تغییرش دادم بازم درست نشد ، بعدش فکر کردم شاید محتویاتی که ارسال میشن خالی هستن اما چاپشون کردم و دیدم مشکلی نیست و ...کد:INSERT INTO rrsTB(rrslink,sitename,type) VALUES (http://www.tabnak.ir/fa/rss/allnews,tabnak,0) SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '://www.tabnak.ir/fa/rss/allnews,tabnak,0)' at line 4





پاسخ با نقل قول
