Php 如何执行两个mysqli_查询
我正在编写一个回调文件,根据API的响应更新数据库 我得到一个$status响应,它应该是SUCCESS或FAIL。 我想使用if语句首先更新db表,然后如果$status更新为“SUCCESS”,我将从该列中选择*并在其他地方使用数据Php 如何执行两个mysqli_查询,php,mysql,Php,Mysql,我正在编写一个回调文件,根据API的响应更新数据库 我得到一个$status响应,它应该是SUCCESS或FAIL。 我想使用if语句首先更新db表,然后如果$status更新为“SUCCESS”,我将从该列中选择*并在其他地方使用数据 $con = mysqli_connect($servername, $username, $password, $dbname); if (!$con) { die("Connection failed: " . mysqli_conn
$con = mysqli_connect($servername, $username, $password, $dbname);
if (!$con)
{
die("Connection failed: " . mysqli_connect_error());
}
$status = "SUCCESS";
$doc_id = 1568280255485;
$sql = "UPDATE docs SET status='$status' WHERE doc_id='$doc_id'";
$res=mysqli_query($con, $sql);
if (!$res)
{
echo "Did not Update";
}
else
{
$endresults = mysqli_query("SELECT * FROM docs WHERE status='$status'");
echo "Success";
}
即使在将$status更新为FAILED之后,我也会获得成功。我的第二个mysqli\u查询未被执行。如何实现这一点?您没有为第二个mysqli\u查询()提供相同的参数
mysqli\u查询($con,“从状态为“$status”的文档中选择*)
您忘记添加$con请尝试按以下方式更改代码,然后查看结果
<?php
$con = new mysqli($servername, $username, $password, $dbname);
if (mysqli_connect_error())
{
echo mysqli_connect_error();
}
$status = "SUCCESS";
$doc_id = 1568280255485;
$sql = "UPDATE docs SET status='$status' WHERE doc_id='$doc_id'";
$res = $con->query($sql);
if (!$res || $res == null)
{
echo "Did not Update";
} else {
$endresults = $con->query("SELECT * FROM docs WHERE status='$status'");
if( $endresults ){
echo "Success\r\n";
// do something with $endresults;
/*
while($row = $endresults->fetch_object()) {
// do something
}
*/
} else {
echo "Query select have a problem";
}
}
它只是回应“成功”;没有条件!另见:我很想帮助你,但你的问题不清楚。情况如何?成功的条件是什么?可能重复@Dharman我想首先使用我在第一次查询之前的$sql=“update”更新db表(status=$status)。如果$sql没有更新中断。如果它更新了db表(status=$status),那么执行我的第二个查询,该查询应该检查(status=$status)是否设置为“SUCCESS”。如果是,则获取数据并执行某些操作。谢谢,但返回的结果相同。。如果使用“UPDATE docs SET status='FAILED'运行第一个查询,其中doc_id='$doc_id';还是会成功。这不是我想要的。。我的目标是仅在status='SUCCESS'时执行$endresult查询。这是正常的,因为如果statemaent处于var状态,则没有任何控制器。在使用更新之前,添加条件if并检查状态。例如如果($status==“SUCCESS”){//continue script}