Php 可捕获的致命错误:mysqli类的对象无法转换为字符串,在对象中它是什么?

Php 可捕获的致命错误:mysqli类的对象无法转换为字符串,在对象中它是什么?,php,mysql,Php,Mysql,我在这个网站上已经有一段时间了,我似乎不知道大多数类似的问题都是为了这个错误得到答案: 可捕获的致命错误:类mysqli的对象无法转换为字符串 说它是一个物体。我对PHP相当陌生,如果有人能向我解释这一点,我会很有帮助。我试图从数据库中检索数据并在表中回显它 这就是我到目前为止所做的: $dbcon=mysqli_connect("localhost","root","","technoage"); if (mysqli_connect_errno()) { echo "Failed

我在这个网站上已经有一段时间了,我似乎不知道大多数类似的问题都是为了这个错误得到答案:

可捕获的致命错误:类mysqli的对象无法转换为字符串

说它是一个物体。我对PHP相当陌生,如果有人能向我解释这一点,我会很有帮助。我试图从数据库中检索数据并在表中回显它

这就是我到目前为止所做的:

$dbcon=mysqli_connect("localhost","root","","technoage");

if (mysqli_connect_errno())
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$results = mysql_query("SELECT * FROM items WHERE item_id = 1,$dbcon");
if(!$results)
{
    die("Database query failed".mysql_error());
}
while($row = mysql_fetch_array($results))
{
    echo $row['descreption']." ".$row['price']."<br/>";
}
$dbcon=mysqli_connect(“localhost”、“root”、“technoage”);
if(mysqli\u connect\u errno())
{
echo“未能连接到MySQL:”.mysqli_connect_error();
}
$results=mysql_query(“从item_id=1的items中选择*,$dbcon”);
如果(!$results)
{
die(“数据库查询失败”。mysql_error());
}
while($row=mysql\u fetch\u数组($results))
{
echo$row['descreption']。“.$row['price']。”
”; }
您已连接到
mysqli

但是您正在使用
mysql查询

$results = mysql_query("SELECT * FROM.....

您已连接到
mysqli

但是您正在使用
mysql查询

$results = mysql_query("SELECT * FROM.....

使用mysqli而不是mysql重写代码,因为您将mysqli与mysql混合使用

这个

应该是

   $results = mysqli_query($dbcon, "SELECT * FROM items WHERE item_id = 1");
    while($row = mysqli_fetch_array($results))
还有这个

     while($row = mysql_fetch_array($results))
应该是

   $results = mysqli_query($dbcon, "SELECT * FROM items WHERE item_id = 1");
    while($row = mysqli_fetch_array($results))

使用mysqli而不是mysql重写代码,因为您将mysqli与mysql混合使用

这个

应该是

   $results = mysqli_query($dbcon, "SELECT * FROM items WHERE item_id = 1");
    while($row = mysqli_fetch_array($results))
还有这个

     while($row = mysql_fetch_array($results))
应该是

   $results = mysqli_query($dbcon, "SELECT * FROM items WHERE item_id = 1");
    while($row = mysqli_fetch_array($results))

此错误不是由mysql和mysqli混合引起的。这是由于在SQL字符串本身中插入了
$dbcon
,如下所示:

$results = mysql_query("SELECT * FROM items WHERE item_id = 1,$dbcon");
                                                           // ^ here
连接应作为第一个参数传递,查询作为第二个参数传递。将其插入SQL字符串并作为单个参数传递,这意味着PHP尝试将对象转换为字符串

改为:

$results = mysqli_query($dbcon, "SELECT * FROM items WHERE item_id = 1");

正如其他人所指出的,您需要将所有的
mysql\u
引用更改为
mysqli\u
,但这是您的第二个问题。直接的问题是字符串问题,一旦解决了这个问题,您将遇到混合mysql问题。

此错误不是由混合mysql和mysqli引起的。这是由于在SQL字符串本身中插入了
$dbcon
,如下所示:

$results = mysql_query("SELECT * FROM items WHERE item_id = 1,$dbcon");
                                                           // ^ here
连接应作为第一个参数传递,查询作为第二个参数传递。将其插入SQL字符串并作为单个参数传递,这意味着PHP尝试将对象转换为字符串

改为:

$results = mysqli_query($dbcon, "SELECT * FROM items WHERE item_id = 1");

正如其他人所指出的,您需要将所有的
mysql\u
引用更改为
mysqli\u
,但这是您的第二个问题。最直接的问题是字符串问题,一旦解决了这个问题,您将遇到混合mysql的问题。

不要混合mysql和MYSQLI-这不是pick and mixyou混合MYSQLI和MYSQLI谢谢提醒!!!:)不要混用MYSQL和MYSQLI-这不是挑选和混合你在混用MYSQLI和MYSQLI谢谢提醒!!!:)是 啊这就解决了问题不知道为什么这个问题是否定的?是的。。。这就解决了问题不知道为什么这个问题是否定的?