使用PHP进行连接时,更新表的正确语法是什么? 如果我手动更改Wamp服务器上的一行,它会显示:
UPDATE `proyecto`.`labs` SET `estado` = '2' WHERE `labs`.`idlab` =1;
但是我的代码上的快速Ctrl + C和Ctrl + V并没有做任何事情,也没有触发任何错误。 这里是我的PHP代码:
$db_hostname = 'localhost';
$db_database = 'XXX';
$db_username = 'XXX';
$db_password = 'XXX';
$db_server = db_init();
function db_init(){
global $db_hostname,
$db_database,
$db_username,
$db_password;
$db_server = mysql_connect($db_hostname, $db_username, $db_password);
if(!$db_server)
die ("Unable to connect with MySQL: " . mysql_error());
mysql_select_db($db_database)
or die ("Unable to connect with database " . mysql_error());
return $db_server;
}
function do_query($query){
global $db_server;
$result = mysql_query($query , $db_server);
if( !$result)
die("Failed sentence: " . mysql_error());
return $result;
}
这是我试图调用的函数,它是通过jQuery调用的,以防我在下面添加代码:
function labStatusEliminar(){
if(isset($_POST['pId'])){
$idEliminar = $_POST['pId'];
$query = "UPDATE bk.estado FROM labs as bk WHERE bk.idlab = $idEliminar";
}
}
jQuery的:
$(".btnEliminar").click(function() {
var idAttrE = $(this).attr('id');
var idEliminar = parseInt(idAttrE.substring(12));
var request = $.ajax({
url: "includes/functionsLabs.php",
type: "post",
data: {
'call': 'labStatusEliminar',
'pId':idEliminar},
dataType: 'html',
success: function(response){
$('#info').html(response);
}
});
});
答案 0 :(得分:1)
您的UPDATE
声明似乎缺少SET
部分。
$query = "UPDATE bk.estado FROM labs as bk WHERE bk.idlab = $idEliminar";
那应该是
$query = "UPDATE labs SET estado=2 WHERE labs.idlab = $idEliminar";
我还建议您查看mysqli或PDO并使用预处理语句。您的代码目前容易受到SQL注入攻击。
答案 1 :(得分:1)
UPDATE的正确语法是:
UPDATE `table_name`
SET `column_name` = 'value', `column_name`='value'...
WHERE `column_name` = 'value'