این کد صفحه Html است
کد:
<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>
و این پایینی هم کد PHP
کد:
<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;
?>
هر چقدر سرچ کردم ، فکر کردم نتونستم دلیل این خطا رو پیدا کنم
کد:
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
اولش فکر می کردم چون تابع intval رو برای تبدیل رشته به عدد نزاشتم این خطا رو می ده درست نشد ، بعدش فکر کردم که یکی از فیلدها کلمات کلیدی هست تغییرش دادم بازم درست نشد ، بعدش فکر کردم شاید محتویاتی که ارسال میشن خالی هستن اما چاپشون کردم و دیدم مشکلی نیست و ...