2017-03-18 66 views
-2

我一直在尝试像MySQL一样,但它不工作。这里是我的代码:如何检查Mysqli查询是否为空?

<?php 

$sql_st_check = "SELECT station_name FROM station WHERE station_code=".$station_code.""; 
$sql_st_query = mysqli_query($connect, $sql_st_check); 

if ($sql_st_query && mysqli_num_rows($sql_st_query) > 0) { 
} else { 
    $sql_st_insert = " 
     INSERT INTO station (id, station_code, station_name, station_title, url, datetime) 
     VALUES ('', '".$station_code."', '".$station_name."', '".$station_title."', '".$station_url."', '".$time."')"; 

    $sql_st_query = mysqli_query($connect, $sql_st_insert); 
} 

?> 
+2

的可能的复制缺少的单引号[检查,如果查询结果为空行mysqli](http://stackoverflow.com/questions/21258620/check-if-the-query-results-empty-row-mysqli) – Jadeye

+0

但问题是不一样的,我面对同一代码的不同问题。 – shpwebhost

回答

0

正确的这一行:

$sql_st_check="SELECT station_name FROM station WHERE station_code='".$station_code."'"; 

问题之前和$ station_code后

+0

谢谢@josef对于有价值的答案 – shpwebhost

+0

它被接受的答案。但为什么它是投票 –

+0

不知道,为什么我的问题呢? – shpwebhost

-1
$con = new mysqli($servername, $username, $password, $dbname); 

$sql_st_check="SELECT station_name FROM station WHERE station_code='".$station_code."'"; 

$result = $con->query($sql_st_check); 

if($result->num_rows > 0){ 
    //do something 
} 
else 
{ 
//insert 
} 
+0

仅有代码的答案对教育SO读者没有太大帮助。您的答案可能是也可能不是正确的答案,但它在被标记为“低质量”之后处于审核队列中。请花一点时间来解释一下以改善您的答案。 – mickmackusa

+0

@mickmackusa我明白。非常感谢您的建议 –