mysqli_query和UPDATE命令不起作用
我想用mysqli_query使用UPDATE命令。代码运行时,我没有收到错误,mysqli_query返回null。我以前发现代码来测试函数调用是否成功,并且我的返回成功。但是,出于某种原因,我的SQL表中的值没有改变。我尝试用$ POSTR变量的整数代替测试目的,但它仍然不会改变。这里是我的代码:mysqli_query和UPDATE命令不起作用
<?php
$response =array();
$con =new mysqli("localhost", "gs6", "gibson2010", "roomDB");
if(!$con):
die('Connect Error (' . mysqli_connect_errno() . ') '.
mysqli_connect_error());
endif;
if(isset($_POST['R']) && isset($_POST['G']) && isset($_POST['B'])){
$POSTR=$_POST['R'];
$POSTG=$_POST['G'];
$POSTB=$_POST['B'];
$result = mysqli_query("UPDATE `LEDstrip` SET `Value` = (int)'$POSTR' WHERE `Channel` = 'R'");
$response["result"] = $result;
}
echo json_encode($response);
exit();
?>
我该如何解决这个问题?
问题似乎是与查询 而不是使用(int)
查询与变量一样使用它:$POSTR=(int)$_POST['R'];
你也呼吁mysqli_query
错误。你必须调用$ CON组> query()方法
您的代码将是:
$POSTR=(int)$_POST['R'];
$POSTG=$_POST['G'];
$POSTB=$_POST['B'];
$result = $con->query("UPDATE `LEDstrip` SET `Value` = '$POSTR' WHERE `Channel` = 'R'");
刚刚尝试过这种方式,但它的值仍然没有改变。 –
我改变了我原来的答案。请检查并让我知道这是否工作 –
这工作。我猜mysqli_query需要数据库连接参数。谢谢! –
'(INT)'$ POSTR''貌似无效的SQL语法。你为什么试图在查询中将它强制转换为int,而不是仅仅使用绑定参数? – rickdenhaan
好点。所以我刚刚做的是在mysqli_query命令之前创建一个变量$ INTR =(int)$ POSTR。然后我用'$ INTR'替换了无效部分。它仍然没有改变数据库中的值。 –