<?php class Config{ private $servername = "localhost"; private $username = "af"; private $password ="00000"; private $db ="chatdb"; private $error=[]; private $connet; private function mysql_connect(){ $con = mysqli_connect($this->servername,$this->username,$this->password,$this->db); if (mysqli_connect_errno()) { array_push($this->error,"Connection Failed: " . mysqli_connect_error()); return false; }else{ $this->connet = $con; } } public function PrintError(){ echo "<pre>"; print_r($this->error); echo "</pre>"; } public function MysqlInsert($query){ $this->mysql_connect(); $mysqlquery = $this->connet; if ($mysqlquery->query($query) === TRUE) { $mysqlquery->close(); return true; } else { array_push($this->error,"Error: " . $query . "<br>" . $mysqlquery->error); $mysqlquery->close(); return false; } } public function ReturnArray($query){ $this->mysql_connect(); $conn = $this->connet; $query = "SELECT message_text, user_current, created_at FROM chat"; $result = $conn->query ($query) or die(mysqli_connect_error()); if($row = $result > 0){ while ($row = $result->fetch_array($result, MYSQLI_BOTH)) { return array ("ID: %s Name: %s ", $row[0], $row["user_current"], $row["message_text"]); } } else { echo ("No messages yet"); } } } ?> Код message.php <?php session_start(); include "config.php"; $config = new Config(); if ($_SERVER['REQUEST_METHOD'] === 'POST') { $msg = $_POST["message"]; $name = $_SESSION["user"]; $buttontype = $_POST["ClickedButton"]; $sql = "INSERTINTO chat(message_text,user_current,chat_group_id) VALUES ('$msg','$name',123456)"; $result = $config->MysqlInsert($sql); if($result){ echo "added "; } else{ $config->PrintError(); } } ?> <!DOCTYPEhtml> <htmllang="en"> <head> <metacharset="UTF-8"> <metaname="viewport"content="width=device-width, initial-scale=1.0"> <title>Chat</title> <linkrel="stylesheet"href="../Chat/style/stylephp.css"> </head> <body> <divclass="msg_box"> <h3><?php echo $_SESSION["user"]?> - Online</h3> <divclass="msg_output"> </div> <formmethod="post"> <textareaclass="form_textarea"name="message"id="msg"cols="30" rows="5"placeholder="Write something" ></textarea> <br> <inputtype="submit"name="ClickedButton"value="Send"> <ahref="../Chat/logout.php"> <inputtype="submit"name="ClickedButton"value="LogOut"> </a> </form> </div> </body> </html>
говнокод. см. как проверяешь ошибки "никак". Последующим обращением к любому методу, получишь "ожидался объект, а получил фиг", либо "undefined var connect connet to class Config" to be continued... PHP: $this->mysql_connect(); $mysqlquery = $this->connet; $mysqlquery->query($query) говновермишель Стандартным конструктором религия не позволила использовать видимо, чтобы не дергать метод mysql_connect 100500 раз жестокий говнокод, в котором трахаем службу БД, новым подключением по прихоти логики - программиста с титулом "я программист РФ". Гуд. Тут проверяем тип запроса. PHP: $msg = $_POST["message"]; $name = $_SESSION["user"]; $buttontype = $_POST["ClickedButton"]; $sql = "INSERTINTO chat(message_text,user_current,chat_group_id) VALUES ('$msg','$name',123456)"; Мало того, что синтаксис sql нарушен, еще и sql-injection сделал. PHP: $query = "SELECT message_text, user_current, created_at FROM chat"; $result = $conn->query ($query) or die(mysqli_connect_error()); if($row = $result > 0){ while ($row = $result->fetch_array($result, MYSQLI_BOTH)) { Составляем строку sql запроса в переменную query Запрашиваем "обычным запросом в БД" данные и если false (при ошибке синтаксиса / доступа / запрет команды и т.д.) выводим текст ошибки и глушим интерпретатор. Далее дичь - $row = $result > 0 PHP: <?php $c = new class { }; var_dump ( [] > 0 ); // true var_dump ( [0] > 0 ); // true var_dump ( [[0,0]] > 0 ); // true var_dump ( [ 9 ] > 0 ); // true var_dump ( '0' > 0 ); // false var_dump ( '' > 0 ); // false var_dump ( true > 0 ); // true var_dump ( $c > 0 ); // Notice - true Снова религия ? https://www.php.net/manual/ru/mysqli-result.num-rows.php return "single array govnocode" P.s: Тема создана не в разделе новичков. Поэтому получай ведро ****а.