Пожалуйста, дайте мне решение этой ошибки
<?php class database { public $sql = ''; public $query = ''; public $con; function __construct(){ self::db(); } static function db() { if($_SERVER['HTTP_HOST'] == 'localhost'){ $host = 'localhost'; $username = 'root'; $pass = ''; $db = 'alltoitskin'; }else{ $host = 'alltoitskin.db.7649825.hostedresource.com'; $username = 'alltoitskin'; $pass = 'Skinlogica123'; $db ='alltoitskin'; } $con=mysqli_connect($host, $username ,$pass)or die("mysql not connected"); mysqli_select_db($con,$db) or die('Invalid database selected'); } function result_array($query){ $this->query = $query; self::db(); $result = array(); $Q=mysqli_query($con,$query); if($Q && mysqli_num_rows($Q) > 0){ while($tmp = mysqli_fetch_assoc($Q)){ $result[] = $tmp; } } return $result; } function result_row($query){ $this->query = $query; self::db(); $result = array(); //$Q=mysql_query($query); $Q=mysqli_query($con,$query); if($Q && mysqli_num_rows($Q) > 0){ $tmp = mysqli_fetch_assoc($Q); return $tmp; } return $result; } function insert($data = array(), $table = ''){ $t = sizeof($data); if(empty($data) || $table == ''){ return false; } $this->sql = 'INSERT INTO '.$table.' SET ' ; $i = 1; foreach($data as $k => $v){ $this->sql .= $k." = '".$v."' "; if($i < $t ){ $this->sql .= ' , '; } $i++; } //echo $this->sql; $Q = mysql_query($this->sql); if($Q){ return mysql_insert_id(); } return false; } function num_rows($query){ $this->query = $query; self::db(); $result = array(); $Q=mysql_query($query); if($Q){ return mysql_num_rows($Q); } return 0; } function update($query){ $this->query = $query; $Q = mysql_query($query); if($Q && mysql_affected_rows() > 0 ){ return true; } return false; } function last_query(){ return $this->query; } } ?>
Что я уже пробовал:
Notice: Undefined variable: con in C:\xampp\htdocs\grip-engineering\classes\database.php on line 62 Warning: mysqli_query() expects parameter 1 to be mysqli, null given in C:\xampp\htdocs\grip-engineering\classes\database.php on line 62
Nick_3141592654
В следующий раз, когда вы опубликуете такой вопрос, пожалуйста, укажите конкретный номер строки в вашем источнике, где произошла ошибка. Ожидать, что люди будут считать строки, чтобы найти, где находится № 62, - это довольно много!
Во всяком случае, я подсчитал строки, и ответ на ваш вопрос:
mysqli_query () ожидает, что параметр 1 будет mysqli, null задан
Нулевая переменная, о которой идет речь, - это $con. Это означает, что ваше соединение с БД не было установлено.
Я бы посоветовал вам взять отладчик (Netbeans работает хорошо) и установить точку останова в вашей функции db (). Для серверной разработки PHP отладчик является важным инструментом, поэтому я настоятельно рекомендую вам сделать инвестиции, чтобы научиться его использовать, если вы еще не знаете. Даже если вы можете найти простой ответ на этот вопрос, вам нужно уметь эффективно отлаживать его самостоятельно.
Member 13135459
я удалил статическое ключевое слово, но оно дает ту же ошибку
ZurdoDev
Также разместите соответствующий заголовок.