我在更新数据库中的列时遇到问题。如果我使用
,我可以让它工作$ result1 = mysqli_query($ con,“UPDATE Customers SET NextExpectedCut = 222 WHERE Name ='ruth'”);
但是我将所有数据库信息输入到一个数组($ rows)中..所以我已经测试过了:
echo $rows[0][0];
我在浏览器上获得了第一个客户名称,为什么我不能让它工作?我是格式化错误还是有不同的方法来做到这一点?
if(isset($_GET['test']) && $_GET['test'] =="1")
{
$result = mysqli_query($con,"SELECT * FROM Customers");
while($row = mysqli_fetch_array($result))
{
$rows[]=$row;
}
echo $rows[0][0] ." is finished";
$result1= mysqli_query($con,"UPDATE Customers SET NextExpectedCut = 222 WHERE Name = $rows[0][0]");
答案 0 :(得分:1)
您需要用括号表示您的数组并引用您的输入:
$result1= mysqli_query($con,"UPDATE Customers SET NextExpectedCut = 222 WHERE Name = '{$rows[0][0]}'");
或连接你的字符串
$result1= mysqli_query($con,"UPDATE Customers SET NextExpectedCut = 222 WHERE Name = '".$rows[0][0]."'");
您可能希望使用预准备语句而不是生成的查询:http://php.net/manual/en/mysqli.prepare.php。准备好的语句通常比生成的查询更安全。