Ошибка PHP подготовленного оператора "Число параметров связывания не совпадает с количеством полей в подготовленном операторе - PullRequest
0 голосов
/ 04 мая 2018

Я пытаюсь использовать подготовленный оператор для запроса. Код выглядит следующим образом

<?php
$studentrollno=1;
$studentclass=10;
$studentsection='A';
$host="localhost";
$dbName="school_election_db"
    $conn=new mysqli_connect($host,dbName); 
    if(conn->connect_error())
    {
        echo "error occured";
    }
    else
    {
        $stmt="SELECT * FROM voting_details where studentrollno=? and 
    studentclass=? and studentsection=?";
    $conn->bind_param($studentrollno,$studentclass,$studentsection);
    $result=$conn->execute();
    if(result==true)
    {
    echo "login succesfull";
    }
    else
    {
    echo "Please try again";
    }
    ?>

Ошибка связана с запросом mysqli, но я не могу понять ошибку. Он работает правильно, когда я использовал нормальные операторы с процедурным PHP. Но я прочитал, что обычный способ сделать это - использовать ООП и подготовленные операторы , Я получаю сообщение об ошибке: «mysqli_bind_param () :: Количество элементов в операторе не соответствует количеству связанных параметров».

1 Ответ

0 голосов
/ 04 мая 2018

Вы должны использовать приготовить

$dbName="school_election_db"
$conn=new mysqli_connect($host,dbName); 
if(conn->connect_error())
{
    echo "error occured";
}
else
{
    $stmt=  $conn->prepare("SELECT * 
        FROM voting_details 
        where studentrollno = ? 
        and  studentclass = ?
      and studentsection = ? ") ;
$stmt->bind_param('iis',$studentrollno,$studentclass, $studentsection);
$result=$stmt->execute();
if($result==true)
{
echo "login succesfull";
}
else
{
echo "Please try again";
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...