SQL语法错误..?
使用PHP与SQL进行交互,并且在脚本中早些时候我有相同的代码(几乎)正常工作时,我总是收到语法错误。 这是产生错误的代码如下:SQL语法错误..?
$query = "INSERT INTO `child_table` (`id`, `url`, `uid`) VALES ('','".mysql_real_escape_string($value)."', '".$uid[0]."')";
$ex = execute_query($query);
其中返回“你在你的SQL语法错误;检查对应于你的MySQL服务器版本使用附近的“正确的语法手册VALES('',''在线1“
我不能为我的生活做好准备,现在弄清楚为什么这是..我认为这是我愚蠢的想念这里最简单的东西,但仍然当我插入3其他表工作正常,这个错误,我只是无法弄清楚为什么:/
你有VALES,但它应该是VALUES
$query = "INSERT INTO
`child_table` (`id`, `url`, `uid`)
VALUES
('','".mysql_real_escape_string($value)."', '".$uid[0]."')";
$ex = execute_query($query);
您应该使用mysqli_或PDO来代替!您可以使用mysqli_和PDO准备好的语句,这更安全!
举例mysqli_:
$db = new mysqli ("HOST","USER","PASS","DB");
$stmt = $db->prepare("INSERT INTO
`child_table` (`id`, `url`, `uid`)
VALUES
('',?,?)");
$stmt->bind_param('ss',$value,$uid[0]);
$stmt->execute();
假设URL和UID是字符串,对于整数在bind_param使用我的不是s(例如)
谢谢,不敢相信我一直这么愚蠢,错过了 TrueSlawter 2014-11-05 15:10:29
我做得更糟。 – 2014-11-05 15:21:55
你必须写VALUES
而不是你VALES
像这样:
$query = "INSERT INTO `child_table` (`id`, `url`, `uid`) VALUES ('','" . mysql_real_escape_string($value) . "', '" . $uid[0] . "')";
$ex = execute_query($query);
谢谢,不敢相信我一直这么愚蠢,错过了 TrueSlawter 2014-11-05 15:10:44
@TrueSlawter:D我认为这是一个休息的标志! – Rizier123 2014-11-05 15:11:52
'VALES' - >'VALUES' – Rizier123 2014-11-05 15:04:07
“Code失明“是这种痛苦的名称。我的习惯是在命令行上工作时,使用'UDPATE'而不是'UPDATE'。 – 2014-11-05 15:09:27
谢谢,不敢相信我一直如此愚蠢,错过了 TrueSlawter 2014-11-05 15:09:54