我有一个 php 文件,即index.php 并从这里用 Java 调用另一个 PHP 文件,在其中我从数据库中选择数据,我这样调用该文件:
$.get("ociPHP/DBtoOCI.php", { uniqueReferenceKey: Reference } )
在 DBtoOCI.php 中我使用这个查询:
$sqlReturnExistingOCI = "SELECT * FROM ociorder WHERE reference = '".$uniquekey."'";
$result = $conn->query($sqlReturnExistingOCI);
if ($result->num_rows > 0) {
echo echo '<input type="hidden" class="descriptionfield" name="NEW_ITEM-DESCRIPTION['.$count.']" value="' . htmlspecialchars($row['NEW_ITEM-DESCRIPTION'], ENT_QUOTES) .'">';
$sqlDeleteRow = "DELETE FROM ociorder WHERE `reference`= '" .$uniquekey. "'";
$conn->query($sqlDeleteRow);
if (mysqli_query($conn, $sqlDeleteRow)) {
echo "Record deleted successfully" . $uniquekey;
} else {
echo "Error deleting record: " . mysqli_error($conn);
}
}
然后在index.php 中我将此echo 附加到div 中。如果我第一次调用这个 DBtoOCI.php,那么我可以很好地看到附加的数据。但是,如果我第二次调用它(虽然该行已经被删除,并且已经有一个带有 uniqueKey 但有其他描述数据的新行),那么我会再次取回已经从数据库中取出的旧数据。知道怎么做吗?
最佳答案
因为你执行了两次删除查询
$conn->query($sqlDeleteRow); // first time
if (mysqli_query($conn, $sqlDeleteRow)) {// second time
echo "Record deleted successfully" . $uniquekey;
} else {
echo "Error deleting record: " . mysqli_error($conn);
}
只执行一次
if ($conn->query($sqlDeleteRow)) {
echo "Record deleted successfully" . $uniquekey;
} else {
echo "Error deleting record: " . mysqli_error($conn);
}
不要为查询分配直接值
关于php - mysqli Select 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35934769/