2012-08-12 11 views

Odpowiedz

57

Jest to pierwszy przykład na stronie podręcznika dla mysql_query:

$result = mysql_query('SELECT * WHERE 1=1'); 
if (!$result) { 
    die('Invalid query: ' . mysql_error()); 
} 

Jeśli chcesz użyć czegoś innego niż die, sugeruję trigger_error.

+3

Albo po prostu 'if (! Mysql_query ('SELECT * WHERE 1 = 1')) {...}' –

+2

@Rune: Tak, ale wtedy nie będzie mógł skorzystać z źródło zapytania dla dalszych działań (np do pobierania rzeczywistych danych za pomocą funkcji 'mysql_fetch_ *'). –

+1

@AmalMurali hmm, dobry punkt. Nie jestem pewien, gdzie byłem z głową w momencie zamieszczania tego komentarza .. –

4

Jeśli zapytanie nie powiodło się, otrzymasz wartość zwracaną FALSE. W przeciwnym razie otrzymasz zasób/PRAWDA.

$result = mysql_query($query); 

if(!$result){ 
    /* check for error, die, etc */ 
} 

Zasadniczo tak długo, jak długo nie jest fałszem, wszystko w porządku. Następnie możesz kontynuować swój kod.

if(!$result) 

Ta część kodu faktycznie uruchamia zapytanie.

13

Do tego również można użyć mysql_errno().

$result = mysql_query($query); 

if(mysql_errno()){ 
    echo "MySQL error ".mysql_errno().": " 
     .mysql_error()."\n<br>When executing <br>\n$query\n<br>"; 
} 
+1

Jest znacznie bardziej niezawodny, używając mysql_errno(), ponieważ nie można całkowicie polegać na typie wyniku zwróconego przez mysql_query(). – dar7yl

2
Funkcja

mysql_query służy do wykonywania zapytania mysql w php. mysql_query zwraca false, jeżeli wykonanie zapytania fails.Alternatively można spróbować użyć mysql_error() funkcję Np

$result=mysql_query($sql) 

lub

die(mysql_error()); 

w kodzie powyżej fragmencie jeśli wykonanie kwerendy nie to będzie zakończyć wykonanie i wyświetlić mysql błąd podczas wykonywania zapytania sql.

0

przypadku korzystania MySQLi bind_param spróbować umieścić tę linię powyżej zapytania

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); 
1

umieścić tylko:

or die(mysqli_error());

po zapytaniu

i będzie retern błąd jako echo

przykład

// "Your Query" means you can put "Select/Update/Delete/Set" queries here 
$qfetch = mysqli_fetch_assoc(mysqli_query("your query")) or die(mysqli_error()); 



    if (mysqli_errno()) { 
     echo 'error' . mysqli_error(); 
     die(); 
    } 
Powiązane problemy