2016-11-28 85 views
-2

我一直在尝试很长一段时间来将一个mysql的php脚本转换成一个mysqli,并且尽管我可能很近,但我仍然需要一些帮助。MYSQL到MYSQLI转换php

这是我想转换

$server=mysql_connect($host, $username, $password); 
$connection=mysql_select_db($database, $server); 

$myquery = "SELECT `busstop`,`passengersin` FROM `busdata`"; 
    $query = mysql_query($myquery); 

if (! $query) { 
    echo mysql_error(); 
    die; 
} 

$data = array(); 

for ($x = 0; $x < mysql_num_rows($query); $x++) { 
    $data[] = mysql_fetch_assoc($query); 
} 

echo json_encode($data);  

mysql_close($server); 

的代码,这是我的我是如何把它转换的尝试,但它并不完全工作。它提供了以下错误:

Warning: mysqli_query() expects at least 2 parameters, 1 given in I:\xampp\htdocs\readTableEchoJsonSimpleOOP.php on line 11 Warning: mysqli_error() expects exactly 1 parameter, 0 given in I:\xampp\htdocs\readTableEchoJsonSimpleOOP.php on line 13

$mysqli_obj=new mysqli($host,$username,$password,$database) or die ("Cannot  connect to database"); 

$sqlstatement = "SELECT `busstop`,`passengersin` FROM `busdata`"; 
$query= mysqli_query($sqlstatement); 
if (! $query) { 
    echo mysqli_error(); 
    die; 
} 

$data = array(); 

for ($x = 0; $x < mysqli_num_rows($query); $x++) { 
    $data[] = mysqli_fetch_assoc($query); 
} 

echo json_encode($data);  
$result = $mysqli_obj->query($query) or die ("Couldn't issue SQL INSERT query"); 
$mysqli_obj->close(); 

希望得到任何帮助或建议,我可以得到,在此先感谢!

+0

你需要指定什么行不通,告诉我们它不“工作完全”不会提供给我们的信息来帮助你。你是否收到错误信息,如果是的话?代码是否正在执行,但给出了不正确的结果,如果是的话,那么期望的是什么? –

+0

RTFM ... https://secure.php.net/mysqli_query您在程序调用中缺少'mysqli'对象。 –

+0

@StevenByrne,警告:mysqli_error()需要至少2个参数,1中给出的第1行中的I:\ xampp \ htdocs \ readTableEchoJsonSimpleOOP.php 警告:mysqli_error()需要恰好1个参数,0中给出I:\ xampp \ htdocs中\ readTableEchoJsonSimpleOOP.php上线13个 – user7222462

回答

-1

尝试使用此查询连接, $ mysqli_obj = mysqli_connect($主机,$的用户名,密码$,$数据库);

每次和一个SQL查询执行添加mysqli_obj作为参数传递给该查询功能,如 $查询= mysqli_query($ mysqli_obj,$的SQLStatement);

对于mysqli_num_rows()和mysqli_fetch_assoc(),您可以像在代码中一样使用它。

希望它有帮助!

1

您将面向对象和非面向对象的MySQLi混合在一起!

您的代码

$mysqli_obj=new mysqli($host,$username,$password,$database) or die ("Cannot  connect to database"); 

应该像

$connection = mysqli_connect('localhost','root','','mch') or die ("Cannot  connect to database"); 

,这样就可以利用$连接手柄在你的代码的其余部分。

$query= mysqli_query($connection, $sqlstatement); 

echo mysqli_error($connection); 

我希望它能帮助!!:

现在,你的新代码应修改

+0

这有什么错面向库MySQLi一起面向对象和非对象混淆? –