php একজন সদস্য ফাংশনকে কল করুন[ডুপ্লিকেট] তে বুলিয়ান তে এক্সিকিউট করুন()




mysql mysqli (4)

আমার এইচটিএমএল:

 <form action="rent.php" method="post"><pre>
        Email : <input  type="text" name="email">
        Message : <input type="text" name="msg_text">
                <input type="submit" value="Rent it">
    </pre></form>

আমার ভাড়া.এফপি ফাইল:

<?php
 require_once 'login.php';
   $conn = new mysqli($hn, $un, $pw, $db);
   if ($conn->connect_error) {
    die($conn->connect_error);
}
    $query = "SET NAMES utf8";
    $result = $conn->query($query);
    if (!$result) {
        die($conn->error);
    }

    $req = $conn->prepare('INSET INTO renter (email, msg_text) VALUES(?, ?)');
    $req->execute(array($_POST['email'], $_POST['msg_text']));

    header('Location: menu.php');

আমার ত্রুটি যখন আমি জমা দেওয়ার চেষ্টা করি, তা হ'ল: মারাত্মক ত্রুটি: সি-তে বুলিয়ান সম্পর্কে একটি সদস্য ফাংশন এক্সিকিউট করুন (): \ 18. লাইনে ভাড়া ph php

ইমেল, msg_text ভার্চার ধরণের হয়


ত্রুটিগুলি ধরার জন্য এই জাতীয় কিছু করুন

 $req = $conn->prepare('INSERT INTO renter (email, msg_text) VALUES(?, ?)'); if(!$req){ echo "Prepare failed: (". $conn->errno.") ".$conn->error."<br>"; } 

যেহেতু প্রস্তুত একটি বুলিয়ান ফেরত। আপনার কোডটি ডিবাগ করার সময় দয়া করে ব্যবহার করুন এবং মন্তব্যে বর্ণিত ত্রুটি প্রতিবেদনের উল্লেখ করুন।


এটি কাউকে সাহায্য করতে পারে: আমি একই সমস্যার মুখোমুখি হয়েছি। আমার ক্ষেত্রে, দ্বিতীয় প্রস্তুত বিবৃতি কার্যকর করার আগে আমি প্রথম প্রস্তুত বিবৃতিটি বন্ধ করতে মিস করেছি।

আমি যখন added $select_stmt_type->close(); দ্বিতীয় প্রস্তুতি বিবৃতি কার্যকর করার আগে, এটি সমস্যার সমাধান করেছে।


আপনার এসকিউএল প্রস্তুত বিবৃতিটি বিব্রতকর বলেছে যেমন সংশোধন করা দরকার তবে আমি মনে করি আপনাকে কল করার আগে ->bind_param() দিয়ে মান নির্ধারণ করতে হবে ->execute() (যা কোনও পরামিতি নেয় না)।

$stmt = $conn->prepare('INSERT INTO renter (email, msg_text) VALUES(?, ?)');
$stmt->bind_param("ss", $_POST['email'], $_POST['msg_text']);
$stmt->execute();

পিএইচপি অফিসিয়াল সাইটে ডকুমেন্টেশন এবং উদাহরণ দেখুন: http://php.net/manual/fr/mysqli.prepare.php


mysqli->prepare FALSE ফিরে আসতে পারে ( http://php.net/manual/en/mysqli.prepare.php ) যদি কোনও ত্রুটি ঘটে থাকে। আপনার সমস্যাটি হ'ল আপনার INSET পরিবর্তে INSERT





mysqli