Я пытаюсь получить доступ к MySQL через PHP, но я получаю эти сообщения об ошибках.PHP bind_param не работает
Notice: Undefined variable: stmt in /var/www/contact.php on line 60
Fatal error: Call to a member function bind_param() on a non-object in /var/www/contact.php on line 63
Мой код:
<?php
$servername = "localhost";
$username = "test";
$password = "test";
$dbname = "test";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// LINE 60
if(!$stmt = $conn->prepare("INSERT INTO MyGuests VALUES(?, ?, ?)") || !is_object($stmt)){
die("Error preparing: (" .$conn->errno . ") " . $conn->error);
}
//LINE 63
$stmt->bind_param("sss", $firstname, $lastname, $email) ;
Сообщения об ошибках помогут вам разобраться в вашей проблеме, они могут быть находчивыми. Что вы пробовали, учитывая ваши сообщения об ошибках? –
W3schools - не лучшее место для изучения. Что вы делали, так это использование обоих методов в попытке заставить все работать, а кавычки вокруг имен столбцов, которые, кстати, не показаны в их учебнике 'INSERT INTO MyGuests (имя, фамилия, адрес электронной почты) '. Всегда обращайтесь к официальным руководствам, когда речь идет об обучении. ** http: //www.php.net/manual/en/mysqli.quickstart.prepared-statements.php** –
Всякий раз, когда вы оказываетесь в поиске фразы «не работает» (и особенно если вы хотите ее использовать четыре раза), остановитесь и выберите что-нибудь более описательное. Здесь, в разделе «Переполнение стека», мы часто говорим, что это наименее полезный отчет о сбоях. Вместо этого скажите, что вы ожидали, что у вас есть, и то, что вы до сих пор делали для расследования. – halfer