dragon7713 2014-11-30 10:27
浏览 65
已采纳

试图获取mysqli的非对象属性

I am new to mysqli object oriented procedure. Here I have made a php class for inserting data into database:

class main{
private $con;

function __construct(){
$this->db_connect();
}

private function db_connect(){
  $this->con = new mysqli('localhost', 'user_name', 'password');
  if ($this->con->connect_error) {
     echo '<br />Failed to connect database! Please try again later';
  }else{
     echo '<br />Connected Successfully!';
  }
}

private function db_select($db){
    $this->con->select_db('prefix_'.$db);
}

public function post_data($value2,$value3,$value4,$value5,$value6){
$this->db_select('database_name');
$result = $this->con->query("INSERT INTO table_name (column2,column3,column4,column5,column6) VALUES('$value2','$value3','$value4','$value5','$value6')");
if($result->affected_rows>=1){
  echo 'Data inserted successfully';
}else{
  echo 'Data could not be inserted';
}
}
}

if I include the class in a php page and trying to insert data, then this error message is showing:

Trying to get property of non-object in C:\zpanel\hostdata\dir\public_html\folder\phppage.php on line 43

There Line 43 is:

if($result->affected_rows>=1){
  • 写回答

2条回答 默认 最新

  • dongyi7966 2014-11-30 10:47
    关注

    In your case

    $result contains a boolean value yes/no.

    But $this->con holds the number of data based on your query result.

    I think you need to change your line to

    if($this->con->affected_rows>=1){
    

    Check the php manual for more information.

    http://php.net/manual/en/mysqli.affected-rows.php

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵