[SQL] 잡을 치명적인 오류 : 클래스 mysqli_stmt의 객체는 문자열로 변환 할 수 없습니다
SQL잡을 치명적인 오류 : 클래스 mysqli_stmt의 객체는 문자열로 변환 할 수 없습니다
이 질문은 매우 바보해야합니다, 그래서 나는 PHP OOP에 새로운 해요. 나는 PHP를 통해 SQL 쿼리를 만들 수 없습니다입니다. 나는 코드를 여러 번 읽었습니다하지만 난 어떤 차이 심지어 에디터가 오류를 표시하지 않습니다를 찾을 수 없습니다입니다. 나는 PHP 5.5.13, MYSQL 5.5.24 및 APCHE 서버 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>
이제 Signup.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;
?>
이 코드를 실행하려고 할 때 오류가 표시됩니다 :
물론 원래 쿼리는 여기에 게시보다 훨씬 더 크다. 나는 SQL 내에서 문제 상주 문을 "선택"하지만 난 그것을 알아낼 수 없어요 있다고 생각 나는 쿼리의 후반부를 수정했습니다. 이에 친절하게 도움 나. 감사합니다.
해결법
-
==============================
1.이 에코 캔트
이 에코 캔트
$ 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 ; .....
-
==============================
2.
$stmt_chk_email = $con->prepare('SELECT `column` FROM `user_information` WHERE `Email` = ?'); $stmt_chk_email->bind_param('s', $_POST['email_add']); $stmt_chk_email->execute(); $stmt_chk_emeil->store_result(); $stmt_chk_email->bind_result($check_email); $stmt_chk_email->fetch(); echo $check_email;
또는
$stmt_chk_email = $con->prepare('SELECT * FROM `user_information` WHERE `Email` = ?'); $stmt_chk_email->bind_param('s', $_POST['email_add']); $stmt_chk_email->execute(); $result = $stmt_chk_email->get_result(); if($result->num_rows == 1) { $result = $result->fetch_array(); echo $result['column_name']; }
from https://stackoverflow.com/questions/21635879/catchable-fatal-error-object-of-class-mysqli-stmt-could-not-be-converted-to-str by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL 저장 프로 시저 사용하여 PHP에서 반환 값을 가져옵니다 (0) | 2020.07.17 |
---|---|
[SQL] 오라클 : ON DUPLICATE KEY UPDATE [중복] (0) | 2020.07.17 |
[SQL] SQL 서버 : 대신 DELETE CASCADE ON의 자기 참조 FK, 트리거 (0) | 2020.07.17 |
[SQL] 어떻게 봄 부팅 프로젝트에 SQL 쿼리, Log4jdbc과의 매개 변수 및 결과를 기록하려면? (0) | 2020.07.17 |
[SQL] 필드에 외부 키를 리팩토링 (0) | 2020.07.17 |