복붙노트

[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. ==============================

    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. ==============================

    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'];
        }
    
  3. 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