2014-06-05 47 views
0

首先,我是mysql(i)语言中的总noob,知道的仅仅是PHP的基础知识。PHP/MYSQLI:mysqli_query在PHP中失败

注意:我不管理或拥有/有权访问目前托管网页的服务器。我可以访问phpMyAdmin页面。

这就是说,我有一个我正在尝试一些东西的网页。现在,我正在尝试创建链接到数据库的登录页面。

看哪代码:

$mysql_host = "localhost"; 
$mysql_user = "my_user"; 
$mysql_database = "my_database"; 
$mysql_password = "my_password"; 

$table = "my_tablename"; 

// Create connection 
$con=mysqli_connect($mysql_host,$mysql_user,$mysql_password,$mysql_database); 

// Check connection 
if (mysqli_connect_errno($con)) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

// sending query 
$result = mysqli_query("SELECT * FROM my_tablename"); 
if (!$result) { 
    echo "Query to show fields from table failed! :-("; 
} 

现在,这里是实际的问题。只要我启动页面,它会给我我的“查询显示表中的字段失败!”错误信息。但是当我在phpMyAdmin的'SQL'选项卡上输入相同的查询时,我得到了想要的结果。为什么网页给我一个错误,而phpMyAdmin给了我结果,我该如何解决?

+0

mysqli扩展与旧的mysql略有不同。程序编码中必须有链接标识符。 – andrew

回答

2

使用正确的语法:

$result = mysqli_query($con, "SELECT * FROM my_tablename"); 

你忘了链接当前的mysqli连接。第一个参数是链接 - 你想使用哪个mysqli连接(适用于多个conns),然后第二个是你的查询。

+0

啊!我想,因为我已经在脚本的开头建立了连接,并且知道连接在脚本结束时关闭,所以它会这样工作。但是,如何查看查询是否失败,因为'$ result'由于连接通过而部分为'true'? – MaxForce

+0

我不确定你的意思。它在旧的mysql上工作,不需要连接链接。 –

+0

我的意思是,'!$ result'将会是'false',因为'$ con'部分通过了。我怎样才能检查''SELECT * FROM my_tablename''是否也通过了? – MaxForce