PHP OOP После миграции с PHP5.6 на 7.2 запрос mysql INSERT больше не работает - PullRequest
0 голосов
/ 04 февраля 2019

Я совершенно новичок в PHP ООП.Но после перехода с 5.6 на PHP7.2 и MSQL на MSQLi запрос INSERT больше не работает.

ClassDBCon.inc.php

class Dbh {
  private $dbhost;
  private $dbuser;
  private $dbpass;
  private $dbname;

  protected function connect() {
    $this->dbhost = "127.0.0.1:3307";
    $this->dbuser = "root";
    $this->dbpass = "mypassword";
    $this->dbname = "mydatabase";

    $conn = new mysqli($this->dbhost, $this->dbuser, $this->dbpass, $this->dbname);
    if(mysqli_connect_errno())
    {
        echo "failed to connect to mysql:" . mysqli_connect_error();
    }

    return $conn;
  }

}

ClassProjects.inc.php

    class Projects extends Dbh{

        public function CreateNewProject($projectnr,$projectname,$iprange,$language,$pm,$hwe,$swe,$amount_cpu,$amount_hmi) {

            //Add new project
            $sql = $this->connect()->query("INSERT INTO tbl_projects(no,name,status,ip,language,pm,hwe,swe,amount_cpu,amount_hmi)
            VALUES('$projectnr','$projectname','1','$iprange','$language','$pm','$hwe','$swe','$amount_cpu','$amount_hmi')");

            MsgBox("Project successfully created");

            return $sql;
        }
}

В тех же ClassProjects я использую запрос SELECT и UPDATE, и это прекрасно работает.

Есть предложения?

1 Ответ

0 голосов
/ 04 февраля 2019

Вы смешиваете oop и процедурные версии вместе, и именно поэтому это не работает.

Чтобы заставить его работать, вам нужно написать его так:

$sql = "INSERT INTO tbl_projects(no,name,status,ip,language,pm,hwe,swe,amount_cpu,amount_hmi)
        VALUES('$projectnr','$projectname','1','$iprange','$language','$pm','$hwe','$swe','$amount_cpu','$amount_hmi')";

$this->connect()->query($sql);

Редактировать:

Если вы хотите сохранить уведомление, добавьте его в оператор if, подобный этомувместо:

if($this->connect()->query($sql) {
    MsgBox("Project successfully created");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...