mysqli Select没有正常工作

时间:2016-03-11 07:42:23

标签: php jquery mysqli

我有一个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的新行但是其他描述数据),那么我再次获得已经退出数据库的旧数据。知道怎么样?

2 个答案:

答案 0 :(得分:2)

因为您执行了两次删除查询

$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);
}

不要为查询分配直接值

阅读bind_param

答案 1 :(得分:1)

当用JS调用.php文件时,你有select语句,然后在每次调用时我需要使用不同的唯一键调用数据。这工作