2010-05-16 44 views
0

我是一个真正的初学者与PHP & mysql。 就在学校学习并作一个简单的例子,我想工作,这个简单的查询,并有可能输出的所有行(或者甚至一个),一个非常基本的输出一个PHP页面上:从分贝输出所有数据到一个PHP页面

<?php 
$user= "root"; 
$host="localhost"; 
$password=""; 
$database = "PetCatalog"; 
$cxn = mysqli_connect($host,$user,$password,$database) 
or die ("couldn’t connect to server"); 
$query = "SELECT * FROM Pet"; 
$result = mysql_query($cxn,$query) or die ("Couldn’t execute query."); 
$row = mysqli_fetch_assoc($result); 
echo "$result"; 
?> 

这是我得到的错误消息:

Warning: mysql_query() expects parameter 1 to be string, object given in C:\xampplite\htdocs\myblog\query.php on line 18 
Couldn’t execute query. 

我该怎么办? 谢谢!

回答

2
mysql_query($query,$cxn) 

代替

mysql_query($cxn,$query) 
+0

的OP是使用MySQL改善图书馆,问题是错误的功能,而不是参数顺序。 – 2010-05-16 18:41:48

2

您可能还希望考虑使用面向对象的接口:

# create a new connection object 
$DBH = new mysqli($host, $user, $pass, $dbname); 

# execute your query 
$result =$DBH->query('SELECT * FROM Pet'); 

# iterate over the results 
while($row = $result->fetch_assoc()) { 
     print_r($row); 
} 
2

PHP已经存在了很长一段时间。每隔几年,有人提出了一种新的连接数据库的首选方式。在早期,要连接并查询MySQL数据库,您使用了MySQL数据库。后来,创建了一个新的MySQL库,Mysqli(我代表改进)。

您正在与mysqli_connect函数(Mysqli函数)建立连接。但是,您然后尝试使用原始库的函数,mysql_query(请注意,没有i)。你想要mysqli_query

如果你看一下该网页,你会看到这一点,上市的程序风格

mixed mysqli_query ( mysqli $link , string $query [, int $resultmode ]) 

此行是告诉你该功能首先要对数据库链接,查询第二。所以,你有上面正确的顺序你的参数,你只是使用了错误的功能。

2
<?php 
$user= "root"; 
$host="localhost"; 
$password=""; 
$database = "PetCatalog"; 
$cxn = mysqli_connect($host,$user,$password,$database) 
or die ("couldn’t connect to server"); 
$query = "SELECT * FROM Pet"; 
$result = mysql_query($query) or die ("Couldn’t execute query."); 
while($row = mysqli_fetch_array($result)) { 
      print_r($row); 
} 
?> 

这应该解决您的问题

相关问题