Uyarı: mysql_error (): Verilen argümanı geçerli bir MySQL-Link kaynak değildir [yinelenen]

4 Cevap php

Possible Duplicate:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result

        $err = mysql_query("INSERT INTO tridy (id,NazevTridy,url) VALUES (
            '$i',
            '$tridy->find('div[class=rozvrhseznam]', 0)->find('a[href]', $i)->outertext',
            '$tridy->find('div[class=rozvrhseznam]', 0)->find('a[href]', $i)->href')");
        mysql_error($err); // line 97

Uyarı: mysql_error (): Verilen argümanı geçerli bir MySQL-Link kaynak değil de / hosting / www / cran-web.com / www / rozvrh / engine.php hat 97 üzerinde

--- Satır 2-6:

$username="*****.com";
$password="*********";
$database="*********";
mysql_connect('127.0.0.1', $username, $password) or die('Could not connect'.mysql_error());
mysql_select_db($database) or die( "Cannot select db.");

Teşekkürler herhangi bir öneri için <3

4 Cevap

mysql_error(), bir "Bağlantı kaynak" ve hiçbir "result resource" bekliyor. Te doğru yolu gibi bir şey olurdu:

$username="*****.com";
$password="*********";
$database="*********";
$connection = mysql_connect('127.0.0.1', $username, $password) or die('Could not connect'.mysql_error());
mysql_select_db($database, $connection) or die( "Cannot select db.");


$err = mysql_query("INSERT INTO tridy (id,NazevTridy,url) VALUES (
        '$i',
        '$tridy->find('div[class=rozvrhseznam]', 0)->find('a[href]', $i)->outertext',
        '$tridy->find('div[class=rozvrhseznam]', 0)->find('a[href]', $i)->href')", $connection);
mysql_error($connection); // line 97

Kullanımını akla $connection. Wile $ bağlantısı gibi her yerde düştü olabilir

mysql_error();

Hangi son açılan bağlantısını kullanan veya varsayılan bir yenisini açar. Varsayılan bağlantı bağlı iken kötü. Ayrıca MySQL konuşmak için alternatif yollar olarak mysqli veya PDO içine bakmak isteyebilirsiniz.

mysql_error($err); remove the argument! It takes link to the resource not number of error.

Bağlantı u daha fazla ihtiyacınız varsa, bu konuda okumak (Eğer mysql_connect kullanarak bir tane alabilirsiniz) farklı bağlantıları tanımak için kullanılır.

Sen mysql_error bir sorgu geçirmeden, bir bağlantı tanıtıcısı geçmesi gerekir.

Ayrıca, zihin o başarı ve false başarısızlık üzerine mysql_query() dealing with INSERT döner true.

Yani değişken adlandırma $err şekilde yanıltıcı, if($err) hiçbir hata tersi oluştu ve anlamına gelecektir.

Daha iyi:

$success = mysq_query("INSERT....");

if(!$success) {
    // use of $connection is pointed to in other answers
    $error_msg = mysql_error($connection); 

    // so some error handling
}

Hakkında mysql_error() :

Parameter: MySQL bağlantısı. Link tanımlayıcı belirtilmemişse, son link mysql_connect() varsayılır tarafından açılan

ve dönüş değeri:

Hiçbir hata oluştu eğer son MySQL fonksiyonu, veya'' (boş dize) gelen hata metnini döndürür.

Dönüş değeri yüzden de do şeydir. Sadece mysql_error() hiçbir faydası yoktur çağrı!