我正在尝试从数据库中获取数据,但有些东西无效。
这是我的代码:
<?php
$koppla = mysql_connect("localhost","admin","","test");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$get = mysql_query($koppla,SELECT * FROM 123);
while ($test = mysql_fetch_array($get))
{
echo $test['tid'];
}
mysql_close($koppla);
?> `<?php
$koppla = mysql_connect("localhost","admin","","test");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$get = mysql_query($koppla,SELECT * FROM 123);
while ($test = mysql_fetch_array($get))
{
echo $test['tid'];
}
mysql_close($koppla);
?>
尝试从MySQL数据库中获取数组时出现以下错误。有什么问题?
Parse error: syntax error, unexpected '123' (T_LNUMBER) in C:\wamp\www\test.php on line 16
答案 0 :(得分:3)
至少有3个错误:
mysql_XY
或mysqli_XY
。不是都。请参阅MySQL:Choosing an API。mysqli_*
,因为mysql_*
已被弃用。SELECT
语句必须在引号中。 mysql_query
的语法是
混合mysql_query(字符串$ query [,resource $ link_identifier = NULL])
所以第16行必须是
$get = mysql_query("SELECT * FROM 123", $koppla);
或者,当您选择mysqli_query
时:
$get = mysqli_query($koppla, "SELECT * FROM 123");
123
这样的表名。我不知道这是否是有效的SQL,但是如果不启动带有字符的表则感觉不对。请参阅SQLite issue with Table Names using numbers? - 我知道您正在使用MySQL,但MySQL可能会遇到类似的问题。您可能希望有时切换到另一个数据库系统。$link_identifier
中指定mysql_*
。{
放在与if
相同的行中。请参阅List of highly-regarded PHP style guides?,尤其是Zend和PEAR section。这也适用于SO,因为您可以避免代码中的滚动条,这样可以更轻松地阅读您的问题。答案 1 :(得分:2)
$get = mysql_query($koppla,SELECT * FROM 123);
应该是
$get = mysql_query("SELECT * FROM `123`",$koppla);
你有两个地方可以纠正它们。
OH很好地坚持使用mysql_query()
所以它应该是
$get = mysql_query("SELECT * FROM `123`",$koppla);
http://in1.php.net/mysql_query
现在使用if (mysqli_connect_errno())
的代码更多内容这是mysqli_connect()
您可能需要查看的内容
答案 2 :(得分:0)
$get = mysql_query($koppla,SELECT * FROM 123);
Shell看起来像这样:
$get = mysql_query("SELECT * FROM 123", $koppla);
查询用于String;和$koppla
shell是第二个参数