我希望在单击链接时进行SQL查询,到目前为止,这就是我所拥有的:
主页.php:
function deleteImage1() {
$.post("delete_image.php", { num:1, id:<?php echo $id; ?> }, function(data,status){
alert("Data: " + data + "'nStatus: " + status);
});
return false;
}
<a href="#" onclick="deleteImage1()">Delete Image</a>
delete_image.php:
<?php
// $connect stuff here
$num = $_GET['num'];
$id = $_GET['id'];
if ($num === '1') {
$image_num == '';
} else {
$image_num == $num;
}
$sqlCommand = mysql_query("UPDATE alpacas1 SET image$image_num='' WHERE id=$id");
if (!$sqlCommand) {
die('Invalid query: ' . mysql_error());
} else {
echo "Updated successfully!";
}
?>
现在,当我单击"删除图像"链接时,它会尝试运行该功能,它确实如此,但在弹出窗口中返回如下:
数据:无效查询:SQL 语法有误;请检查 与您的MySQL服务器版本相对应的正确手册 在第 1 行的 " 附近使用的语法。 状态:成功
但是当我重新加载页面(或查看数据库)时,图像字段尚未更改为"(或空)。
另外,我已经测试了SQL查询,所以事实并非如此。我通过在浏览器中访问delete_image.php来做到这一点,其中id和num变量被"发布"(例如delete_image.php?num=1&id=20),并通过在浏览器中访问它,它成功删除了图像并给我消息"已成功更新!
我猜这是我的Javascript的东西,因为我是一个初学者!感谢您的帮助!
我应该早点注意到这一点......
您正在使用 jQuery .post()
,但您正在访问变量,就好像它们是通过 GET
发送的一样。应使用$_POST
或$_REQUEST
来提取数据:
$num = $_POST['num'];
$id = $_POST['id'];
如果没有正确的变量,您的查询将读取:
UPDATE alpacas1 SET image='' WHERE id="
因此,返回 MySQL 错误。