Php 致命错误:无法在第97行的…中将mysqli_result类型的对象用作数组

Php 致命错误:无法在第97行的…中将mysqli_result类型的对象用作数组,php,mysql,database,forms,Php,Mysql,Database,Forms,我有两页。。一个登录页面(login.php)和一个用户页面(useracc test.php)…每次我登录到useracc test php时,我都可以从名为(users)的表中检索数据,但我不能将新数据插入另一个名为(useradvert)的表中。我有两个表,但我试图插入的数据是一个名为(useradvert)的表。我得到这个错误。非常感谢你的帮助。。tq 下面是我的用户页面(useracc test.php)的脚本: #apDiv2{ 位置:绝对位置; 左:51px; 顶部:238px;

我有两页。。一个登录页面(login.php)和一个用户页面(useracc test.php)…每次我登录到useracc test php时,我都可以从名为(users)的表中检索数据,但我不能将新数据插入另一个名为(useradvert)的表中。我有两个表,但我试图插入的数据是一个名为(useradvert)的表。我得到这个错误。非常感谢你的帮助。。tq

下面是我的用户页面(useracc test.php)的脚本:


#apDiv2{
位置:绝对位置;
左:51px;
顶部:238px;
宽度:237px;
高度:93px;
z指数:1;
}
#apDiv1{
位置:绝对位置;
左:134px;
顶部:123px;
宽度:234px;
高度:104px;
z指数:2;
}
#第3章{
位置:绝对位置;
左:58px;
顶部:146px;
宽度:219px;
高度:61px;
z指数:2;
}
#第四章{
位置:绝对位置;
左:302px;
顶部:102px;
宽度:365px;
高度:123px;
z指数:3;
}
你的个人资料:

插入您的兴趣:

身份证件:
你的问题就在这里:

$sql = sprintf ("INSERT INTO useradvert (ID, name2, color2, hobby2) VALUES (%d, '%s', '%s', '%s')",  (int)
// V- here
$result['ID'], // <- here
// ^- here
mysqli_real_escape_string($conn, $name2),
 mysqli_real_escape_string($conn, $color2),
  mysqli_real_escape_string($conn, $hobby2));
你的第二个看起来像

$userid = $_POST['ID'];
$query = "INSERT INTO useradvert
              (id, name2, color2, hobby2)
            VALUES
              (?, ?, ?, ?)";
$stmt = $conn->prepare($query);
$stmt->bind_params('isss', $userid, $name2, $color2, $hobby2);
$stmt->execute();
(请注意,在这两种情况下,我都省略了任何类型的错误处理,我更愿意将其留给读者作为练习。)


至于主键,您可以使用任何一列(或一组列)来唯一地标识行,并且在行的生存期内不会更改。

您的问题就在这里:

$sql = sprintf ("INSERT INTO useradvert (ID, name2, color2, hobby2) VALUES (%d, '%s', '%s', '%s')",  (int)
// V- here
$result['ID'], // <- here
// ^- here
mysqli_real_escape_string($conn, $name2),
 mysqli_real_escape_string($conn, $color2),
  mysqli_real_escape_string($conn, $hobby2));
你的第二个看起来像

$userid = $_POST['ID'];
$query = "INSERT INTO useradvert
              (id, name2, color2, hobby2)
            VALUES
              (?, ?, ?, ?)";
$stmt = $conn->prepare($query);
$stmt->bind_params('isss', $userid, $name2, $color2, $hobby2);
$stmt->execute();
(请注意,在这两种情况下,我都省略了任何类型的错误处理,我更愿意将其留给读者作为练习。)


至于主键,您可以使用任何一列(或一组列)来唯一地标识行,并且在行的生存期内不会更改。

难怪没有插入数据。。忘记了if(isset($\u POST['submit'])…LoL

难怪数据没有插入。。忘记了if(isset($\u POST['submit'])…LoL

关于你的信息,我对PHP的知识有限..而且我不是专家…你能在第97行检查一下吗,我想知道为什么会发生这种情况。将代码粘贴在第97行thxTqs以获得回复Fiido Firdauz……我已经在TQS上更新了错误,Darwin von Corax……但是你能告诉我方向吗……我对PHP的知识有限,还在学习过程中……很抱歉打扰你的信息,我对PHP的知识有限,而且我不是专家,你能在第97行查一下吗,我想知道为什么会发生这种情况。将代码粘贴在第97行thxTqs处,以获得回复Fiido Firdauz……我已经在TQS上面更新了错误Darwin von Corax……但是你能告诉我方向吗……我对PHP的知识有限,仍在学习过程中……很抱歉打扰你,uI接受了你的答案,因为上面有你帮我解决的一些问题达尔文…上帝保佑你我接受了你的回答因为你帮我解决了一些问题达尔文…上帝保佑你。。