Javascript и PHPMySQL - PullRequest
       5

Javascript и PHPMySQL

0 голосов
/ 23 января 2011
<?php
$host = 'localhost';
$dbusername ='root';
$dbpassword ='';
$database ='mp19';

$link =mysql_connect('localhost', 'root','12345678');
$db_selected = mysql_select_db('mp19', $link);

if (!$link)
  {exit("Connection Failed: " . $link);}

$sql="(SELECT * FROM 3-33)";
$result=mysql_query($sql, $link);


if (!$result)
  {exit("Error in SQL");}

echo "<table><tr>";
echo "<th>Date</th>";
while ($row=mysql_fetch_assoc($result))
  {
  var_dump($row);
  echo "<td>$row['date']</td></tr>";
  }
mysql_close($link);
?> 

Соединение установлено успешно, но данные не извлекаются из phpmysql и не печатаются в таблице.Почему это так?

Ответы [ 2 ]

1 голос
/ 23 января 2011

Я думаю, что вы сделали несколько ошибок.Кажется, вам не хватает базового понимания того, как работают эти функции.Почти все они возвращают некоторую переменную (например, ресурс ссылки или массив строк), которую вы можете использовать в оставшейся части кода.В случае сбоя вызова эти функции возвращают false.Таким образом, вы должны проверить, если значение явно false (с помощью оператора ===) и продолжить, только если все в порядке.Затем вы должны использовать значение результата функции, а не саму функцию.mysql_query - это просто вызов, а не результат.

<?php
$host = 'localhost';
$dbusername ='root';
$dbpassword ='';
$database ='mp19';

$link = mysql_connect('localhost', 'root','12345678');

if ($link === false)
{
    exit("Connection Failed: " . mysql_error());
}

if (mysql_select_db('mp19', $link) === false)
{
    exit("Could not select database mp19: " . mysql_error());
}

// Is '3-33' really your table name?! You should pick another name. 
$sql = "(SELECT * FROM 3-33)";

$resultset = mysql_query($sql, $link);

// (!$sql)? $sql SQL is always set here. It is just the string 
if ($resultset === false) 
{
    exit("Error in SQL: " . mysql_error());
}

echo "<table><tr>";
echo "<th>Date</th>";

while ($row = mysql_fetch_assoc($resultset))
{
    $date = $row['fieldname'];
    echo "<td>$date</td></tr>";
}

mysql_close($link);

?> 
0 голосов
/ 23 января 2011

Запрос недействителен - попробуйте загрузить клиент MySQL из командной строки и запустить его:

mysql -uroot mp19 -p
(SELECT * FROM 3-33)
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '3-33' at line 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...