为什么mysqli不更新db记录,但它提供了一条成功的消息。当然,将显示以下消息:0条记录已成功更新,并且未对数据库进行任何更改。
我的索引php文件代码:
<?php
include 'connect.php';
$work = $_GET["work"];
if($work == "select"){
$query = "SELECT * FROM login ORDER BY City DESC";
$result = $connect->prepare($query);
$result ->execute();
$out = array();
while ($row = $result->fetch(PDO::FETCH_ASSOC)){
$record = array();
$record["InsID"] = $row["InsID"];
$record["Password"] = $row["Password"];
$record["Name"] = $row["Name"];
$record["City"] = $row["City"];
array_push($out,$record);
}
echo json_encode($out);
} elseif($work == "update"){
$name2 = $_REQUEST["Ali"];
$code2 = $_REQUEST["4779"];
$city2 = $_REQUEST["teh"];
$pass2 = $_REQUEST["123"];
$query2 = "UPDATE login SET Password='$pass2',Name='$name2',City='$city2' WHERE InsID = '$code2'";
$result2 = $connect->prepare($query2);
$result2 ->execute();
}
?>
我真的不知道我的编码哪里错了。请帮忙。
3条答案
按热度按时间f4t66c6m1#
试试这个代码可能有用
vzgqcmou2#
如果我了解你想要达到的目标:
你不必再进去了
您需要使用=而不是where条件中的那样
i、 e.这是您需要的行:
另请看尼科哈斯的评论,这是超级正确的!必须提高代码安全性,请参阅:http://php.net/manual/en/security.database.sql-injection.php
nnt7mjpx3#
我不明白你为什么要更新insin和使用
'where InsID like'
另外还有附加的;在查询中你可以试试
重要=首先清除输入数据**