Добрый день. Подскажите пожалуйста, как можно правильно исправить код, чтобы был коннект с базой данных и чтобы можно было записывать туда данные через HTML форму. Не могу понять где ошибки(( HTML: <!DOCTYPE html> <html> <head> <title>Data</title> <meta charset="utf-8" /> </head> <body> <h1>DataBase</h1> <?php // if($errMsg) // echo "<h3>$errMsg</h3>" ?> <form action = "<?= $_SERVER['PHP_SELF']; ?>" method='post'> <p>Name:<br /><input type="text" name="name" /></p> <p>Salary:<br /><input type="text" name="role" /></p> <p>Role:<br /><input type="text" name="salary" /></p> <p>E-Mail:<br /><input type="text" name="email" /></p> <p><input type="submit" value="Отправить"></p> </form> <?php //$post = $data->getData(); //print_r($posts); ?> </body> </html> <?php PHP: class Users { private $_db = null; function connectDb() { $conn = new mysqli_connect('localhost', 'root', 'root', 'developers'); //mysqli_select_db($conn, "workers") if (!$conn) { echo mysqli_connect_errno(); echo "<br>"; echo mysqli_connect_error(); } mysqli_close($conn); } //2 //$sql = new Users(); function createData() { $sql = "INSERT INTO members (name, role, salary, email) VALUES ('name', 'role', 'salary', 'email')"; $res = $this->_db->exec($sql); if (mysqli_query($conn, $sql)) { echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . mysqli_error($conn); } } }
Без обид. Вам нужно сначала добиться мин. уровня вменяемости кода. 1) отлавливаем POST-запрос; 2) проверяем наличие всех требуемых параметров; для отсутствующих, возможно, берем какие-то дефолтные значения; 3) экранируем значения или используем подготовленный запрос.
@RedWings В этой упаковке что делает функция закрытия соединения ? То что находится во функции, будет находиться только там, не имея внешнего доступа. Лишь можно повлиять специальными логическими выводами "из функции", о которых вы должны нам написать. Иначе каким макаром переменная $conn повлияет на другие области всего твоего кода ?
Ну я смотрел в гугле как правильно , но еще не до конца разобрался с реализацией) Значит mysqli_close($conn) не нужна в конце?