Javascript和PHPMySQL
连接成功,但数据不会从phpmysql获取,也不会打印到表中。为什么会这样?查询无效-请尝试在命令行加载mysql客户端并运行它:Javascript和PHPMySQL,javascript,mysql,printing,Javascript,Mysql,Printing,连接成功,但数据不会从phpmysql获取,也不会打印到表中。为什么会这样?查询无效-请尝试在命令行加载mysql客户端并运行它: <?php $host = 'localhost'; $dbusername ='root'; $dbpassword =''; $database ='mp19'; $link =mysql_connect('localhost', 'root','12345678'); $db_selected = mysql_select_db('mp19', $li
<?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);
?>
我认为你犯了一些错误。您似乎对这些函数的工作原理缺乏基本了解。几乎所有这些函数都会返回一些变量,如链接资源或行数组,您可以在代码的其余部分使用这些变量。如果调用失败,这些函数将返回false。因此,您应该使用===运算符检查值if是否显式为false,并且只有在一切正常时才继续。然后,必须使用函数的结果值,而不是函数本身。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
请下次格式化您的代码。当mysql\u fetch\u rowmysql\u query-omg时,这是什么?!?!她之前已经问过这个问题,我指出了错误,但她完全不知道如何通过php从数据库中获取数据。所以我编辑了她的问题以尽量减少错误,但是当你编辑代码时,没有有用的答案,因为我们不是在评论原始代码?!完全不是原始代码。看起来都不像了DAlmost所有这些都返回一个对象在这段代码中根本没有任何对象。是的,你是对的。在那里选错了词。修正了文本,但要点仍然是一样的。你可能想解释一下为什么这个查询是无效的,并提供一个有效的解决方案,例如SELECT*FROM 3-33``不幸的是,我很难从最初的帖子中看出他想要完成什么。起初,我认为他只是想要一个总是会返回一些东西的查询,并且认为SELECT*FROM 3-33等同于SELECT 3-33。既然你提到了,我想他可以有一张名为3-33的桌子。。。但是,呃,我也不太清楚为什么会是这样。我将对问题本身留下评论,建议他澄清他试图对这个问题做什么。
<?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);
?>