这是一个非常简单的问题,我只是无法理解对不起。我有这个PHP代码,它获取我的表单值,然后将它与存储在数据库中的值进行比较。这很好。
但是我不确定如何根据此查询编写此逻辑:
如果发布值=数据库值{ //做一些事情}其他事情{//做别的事情}
if (empty($_POST['order_id']) === false) {
// prepare data for inserting
$order_id = htmlentities(trim($_POST['order_id']));
$order_id = preg_replace("/[^0-9]/","", $order_id);
$result = mysqli_query($con,"SELECT * FROM listings WHERE order_id = $order_id");
$row = mysqli_fetch_assoc($result);
echo $row['order_id'];
}
解决:
解决了这个问题,我知道这是一个愚蠢的问题!在代码末尾只需要这个:
if($order_id === $row['order_id']) {
echo 'found';
} else {
echo 'not found';
}
答案 0 :(得分:3)
尝试
If ($result->num_rows === 1) { do something } else { do something else }
答案 1 :(得分:0)
由于您在查询中执行了业务逻辑,因此可以使用
if( ! is_null($row)) {
// do
} else {
// nothing
}
答案 2 :(得分:0)
我是否读过“如果发布的值=数据库值”?你刚才提到了order_id吗?
if ($row['listingName'] == $_POST['frm_listingName']) {
// something
}
else {
//something else
}
答案 3 :(得分:0)
检查此代码:
if (empty($_POST['order_id']) === false) {
// prepare data for inserting
$order_id = htmlentities(trim($_POST['order_id']));
$order_id = preg_replace("/[^0-9]/","", $order_id);
$result = mysqli_query($con,"SELECT * FROM listings WHERE order_id = $order_id");
if(mysqli_num_rows($result)>0)
{
//Match found. do something.
}
else
{
//No match found. do something.
}
}
的 N.B。代替mysqli_num_rows($result)
,您还可以使用$result->num_rows