2017-03-18 5 views
-2

Ich habe das wie in MySQL versucht, aber es funktioniert nicht. Hier ist mein Code:Wie überprüft man, ob Mysqli Abfrage leer ist oder nicht?

<?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

Mögliche Duplikat [überprüfen fehlt, wenn die Abfrage leer Ergebnisse Zeile mysqli] (http://stackoverflow.com/questions/21258620/check-if-the-query-results-empty-row-mysqli) – Jadeye

+0

Aber das Problem ist nicht das gleiche, ich bin mit anderen Problem mit dem gleichen Code konfrontiert. – shpwebhost

Antwort

0

richtig diese Zeile:

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

das Problem Apostrophe vor und nach $ station_code

+0

Danke @josef für wertvolle Antwort – shpwebhost

+0

Es ist die Antwort akzeptiert. Aber warum ist es unten Abstimmung –

+0

Weiß nicht, warum meine Frage auch? – 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

Code-only-Antworten machen nur wenig, um SO-Leser zu unterrichten. Ihre Antwort ist möglicherweise eine richtige Antwort, aber sie befindet sich in der Moderationswarteschlange, nachdem sie als "geringe Qualität" markiert wurde. Bitte nehmen Sie sich einen Moment Zeit, um Ihre Antwort mit einer Erklärung zu verbessern. – mickmackusa

+0

@mickmackusa Ich verstehe. Vielen Dank für Ihren Rat –

Verwandte Themen