Я новичок в PHP OOP, поэтому этот вопрос должен быть довольно глупым. Я не могу создать SQL-запрос через PHP. Я читал код много раз, но я не могу найти расхождения, и даже редактор не отображает никаких ошибок. Я использую PHP 5.5.13, MYSQL 5.5.24 и APCHE Server 2.2.22.
Ниже приведен код:
Test_signup.php
<!DOCTYPE HTML> <html> <head> <title> Test Sign Up </title> </head> <body> <form action = "Signup.php" method = "POST" name = "test_signup"> Full Name: <input type = "text" name = 'full_name'> User Name: <input type = 'text' name = 'user_name'> Email: <input type = 'text' name = 'email_add'> <input type = "submit" name = "submit"> </form> </body> </html>
Теперь перейдем на сайт Registration.php
<?php $con = new mysqli('localhost', 'root', '', 'my_database'); if ($con->connect_error) { echo 'Failed to connect' . $con->connect_error; } else { echo 'Connected'; $stmt_chk_email = $con->prepare('SELECT * FROM `user_information` WHERE `Email` = ?'); $stmt_chk_email->bind_param('s', $_POST['email_add']); echo $stmt_chk_email; ?>
При попытке запустить этот код я получаю сообщение об ошибке:
Объект класса mysqli_stmt не может быть преобразован в строку
Конечно, исходный запрос намного больше, чем опубликованный здесь. Я отредактировал более позднюю часть запроса, поскольку выяснил, что проблема находится в операторе SQL SELECT, но я не могу понять это. Пожалуйста, помогите мне в этом. Спасибо.
вы не можете повторить это
echo $ stmt_chk_email;
вы, возможно, захотите повторить это
$stmt_chk_email = $con->prepare('SELECT column1 ,column2,... FROM `user_information` WHERE `Email` = ?'); $stmt_chk_email->execute(); $stmt_chk_email->store_result(); $stmt_chk_email->bind_result($column1 ,$column2,.....); $stmt_chk_email->fetch(); echo $column1; echo $column2 ; .....