以下PHP代码:
$dbc = mysql_connect ('localhost','root','abcde');
if (!$dbc) {
die('Not Connected:' . mysql_error ());
}
$db_selected = mysql_select_db ('db_test', $dbc);
if (!$db_selected) {
die ("Can't Connect :" .mysql_error());
}
$query="SELECT * FROM 140423 WHERE GAME='Clash of Clans'";
//add "result"
$result=mysql_query($query);
if (!$query) {
die ("Can't Connect :" .mysql_error());
}
echo $result;
没有任何回报。
我应该使用print而不是echo吗?
另外,如果我改变
echo $result;
要
echo 'whatever';
它返回"无论什么"在我的帖子上。
帮助?
答案 0 :(得分:2)
从手册:
标识符可以以数字开头,但除非引用可能不仅仅包含数字。
这正是你正在做的事情,而且不应该这样做。
解决方案:
为您的表选择一个不同的名称,最好由一个字母组成。
在表名周围使用反引号。
另外,如果您想查看数据,则需要使用循环。
<强>即:强>
$query="SELECT * FROM `140423` WHERE GAME='Clash of Clans'";
while ($row = mysql_fetch_assoc($query))
{
$var = $row["column"]; // the column of your choice
}
echo $var;
重写:
$dbc = mysql_connect ('localhost','root','abcde');
if (!$dbc) {
die('Not Connected:' . mysql_error ());
}
$db_selected = mysql_select_db ('db_test', $dbc);
if (!$db_selected) {
die ("Can't Connect :" .mysql_error());
}
$query="SELECT * FROM `140423` WHERE GAME='Clash of Clans'";
//add "result"
$result=mysql_query($query);
// as pointed out already
if (!$result) {
die ("Can't Connect :" .mysql_error());
}
echo $result; // this is up to you
// if you want to see data from your table, loop through it.
while ($row = mysql_fetch_assoc($query))
{
$var = $row["column"]; // the column of your choice
}
echo $var;
<强>脚注:强>
mysql_*
函数弃用通知:
http://www.php.net/manual/en/intro.mysql.php
从PHP 5.5.0开始,不推荐使用此扩展,不建议用于编写新代码,因为将来会删除它。相反,应使用mysqli或PDO_MySQL扩展名。在选择MySQL API时,另请参阅MySQL API Overview以获得进一步的帮助。
这些功能允许您访问MySQL数据库服务器。有关MySQL的更多信息,请访问»http://www.mysql.com/。
可以在»http://dev.mysql.com/doc/找到MySQL的文档。
答案 1 :(得分:1)
mysql_query返回资源或false。您需要使用各种提取函数之一来操作资源。
您应该查看$query
是否为假,而不是查看$result
是否为假。
if (!$result) {
die ("Can't Connect :" .mysql_error());
}
答案 2 :(得分:0)
之后
$result=mysql_query($query);
if (!$query) {
die ("Can't Connect :" .mysql_error());
}
使用
while($row = mysql_fetch_array($result)) {
echo $row['YourTableFieldName'];
}
或使用
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
// If you want to display all results from the query at once:
print_r($row);
// If you want to display the results one by one
echo $row['YourTableFieldName1'];
echo $row['YourTableFieldName2'];
}