mysql_errno ve mysql_error her şey raporlama

2 Cevap php

Ben yazılı bir sorgu var

  mysql_query($query,$conn) 
    or 
    die(
    "A MySQL error has occurred.<br />Your Query: " . $query . "<br /> Error: (" . mysql_errno() . ") " . mysql_error());
    echo "You have been entered into our Database!";

Bu çıkışlar

A MySQL error has occurred.
Your Query: INSERT INTO users (uid, twname, privacy) VALUES (15400743, 'gdhdh', 'accepted')
Error: (0)

bu nedenle herhangi bir hata ya da bir şey liste değildir. Ben PHPMyAdmin SQL sekmesine sorgulamak kopyala / yapıştır, başarıyla çalışır ve DB bağlantısı (biliyorum bir sorgu yerde iyi çalışır çünkü çalışır) kötü bir şey atma değildir:

function get_db_conn() {
$conn = mysql_connect($GLOBALS['db_ip'], $GLOBALS['db_user'], $GLOBALS['db_pass']);
mysql_select_db($GLOBALS['db_name'], $conn); 
return $conn;

}

Ben ne hazırlasam üzerinde herhangi bir düşünce? Ben gerçekten takdir ediyorum.

2 Cevap

Hata 0 hata oluştu demektir.

Bu nedenle hiçbir hata mysql_query() işlevine çağrı çevreleyen kodunuzda bir mantık hatası varsa ortaya çıktığında çıkışı bir hata için kod çalıştırılıyor ise.

Bu ve hata yalan olabilir, farklı koşullar ve altında çalışacak olmamalıdır ne sizin kod söylemek zor.

Aşağıdaki kod size ulaşmak için çalışıyoruz ne mantıksal olarak eşdeğerdir ve beklendiği gibi çalışması gerekir.

Bu kod daha net işlevinin sonucunu kontrol gelen mysql_query() işlevini çağırarak ayırır. Bu tamamen isteğe bağlı olsa da ben de biraz herhangi bir yatay kaydırma yapmadan görüntüler için kod biçimlendirilmiş var.

$queryResult = mysql_query($query, $conn);
if ($queryResult === false) {
    $errorMessage = "A MySQL error has occurred.<br />"
                  . "Your Query: ".$query."<br />"
                  . " Error: (".mysql_errno().") ".mysql_error();

    die($errorMessage);
}

Ben bu aradığınız tam olarak ne olup olmadığından emin değilim, ama işlevine argüman $ sorgu denir, ve hata değişken $ your_query, bu nedenle hata $ your_query görüntüler, ama kim değeri $ sorguda ne olduğunu bilir, bu yüzden NULL ise, hiçbir mesajı ile hata numarasını 0 neden olabilir.