Черт, когда я пытаюсь подключиться, чтобы вытащить вещь из базы данных, я получаю следующую ошибку:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/content/49/5548763/html/matt/download.php on line 17
Ни один из других ответов на этом сайте не работал.
вот сценарий:
<?php $con = mysql_connect("XXXX", "name", "password"); if (!$con) { die('Could not connect: ' . mysql_error()); } $db_selected = mysql_select_db("nameofdb",$con); $musictable = ""; $sql = "GET * FROM matt"; $result = mysql_query($sql,$con); while($row = mysql_fetch_object($result)) { $id = $row->id; $name = $row->name; $update = $row->update; $length = $row->length; $size = $row->size; $musictable .= " <tr> <td width=\"63%\">".$name."</td> <td width=\"10%\">".$length." / ".$size."</td> <td width=\"10%\"><a href=\"download.php?mp3=".$name."\">DOWLOAD</a></td> <td width=\"17%\">|||||</td> </tr> "; } ?>
Это потому, что ваш запрос неверен.
$sql = "GET * FROM matt";
вероятно, станет
$sql = "SELECT * FROM matt";
основная мера, чтобы предупредить об этом, – это
if (!$result) die("mySQL error: ". mysql_error());
после выдачи запроса.
Возможно, попробуйте использовать «SELECT» вместо «GET»?
$sql = "GET * FROM matt";
неправильно. Правильный синтаксис SQL
$sql = "SELECT * FROM matt";
Эта ошибка передается в
$result = mysql_query($sql,$con);
который затем является недопустимым и не может использоваться во while($row = mysql_fetch_object($result))
.
Вы должны проверить mysql_error()
после mysql_query()
чтобы поймать их.
Хотите использовать SELECT *
Вы также можете использовать
mysql_query($sql, $con) or die("Error in $sql:" . mysql_error($con));
Если вы не хотите использовать die (), вы можете использовать эхо, чтобы узнать, что такое ошибка, и по крайней мере отладить приложение.