mysqli_query和UPDATE命令不起作用

时间:2017-10-04 22:11:19

标签: php mysqli http-post

我正在尝试使用带有mysqli_query的UPDATE命令。代码运行时,我没有错误,mysqli_query返回null。我以前找到了测试函数调用是否成功的代码,并且我的返回成功。但是,由于某种原因,我的SQL表中的值没有改变。我试过用一个整数代替$ POSTR变量用于测试目的,但它仍然不会改变。这是我的代码:

<?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();
?>

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

问题似乎与查询有关 而不是在查询中使用(int),而是使用变量,例如:$POSTR=(int)$_POST['R'];

此外,您正在调用mysqli_query错误。你必须调用$ con&gt; query()方法

您的代码将是:

$POSTR=(int)$_POST['R'];
 $POSTG=$_POST['G'];
 $POSTB=$_POST['B'];

    $result = $con->query("UPDATE `LEDstrip` SET `Value` = '$POSTR'  WHERE `Channel` = 'R'");