Re: Prepared Statements - Search

Karl DeSaulniers <[email protected]>
Newsgroups gmane.comp.php.database
Message-ID <[email protected]>
Ethan,
9 times out of 10 your answer is in the error statement.

Warning: mysqli_stmt_bind_result(): Number of bind variables doesn't  
match number of fields in prepared statement.

GL,

Best,
Karl


On Sep 13, 2012, at 7:09 PM, Ethan Rosenberg, PhD wrote:

> Dear List -
>
> Here is another problem I am having with prepared statements.  The  
> last one was  INSERT, this one is SELECT.
>
> Here is the database:
>
> mysql> describe Intake3;
> +--------+-------------+------+-----+---------+-------+
> | Field  | Type        | Null | Key | Default | Extra |
> +--------+-------------+------+-----+---------+-------+
> | Site   | varchar(6)  | NO   | PRI |         |       |
> | MedRec | int(6)      | NO   | PRI | NULL    |       |
> | Fname  | varchar(15) | YES  |     | NULL    |       |
> | Lname  | varchar(30) | YES  |     | NULL    |       |
> | Phone  | varchar(30) | YES  |     | NULL    |       |
> | Height | int(4)      | YES  |     | NULL    |       |
> | Sex    | char(7)     | YES  |     | NULL    |       |
> | Hx     | text        | YES  |     | NULL    |       |
> | Bday   | date        | YES  |     | NULL    |       |
> | Age    | int(3)      | YES  |     | NULL    |       |
> +--------+-------------+------+-----+---------+-------+
> 10 rows in set (0.00 sec)
>
> Here is my code:
>
> // Prepare statement
>    $stmt = mysqli_stmt_init($cxn);
>    $sql11 = "SELECT  'Fname', 'Lname', 'Phone', Height, Hx, Bday,  
> Age FROM Intake3 where 1 and (MedRec = ?) and (Site = ?) and (Sex  
> = ?)";
> // Allocates and initializes a statement object suitable for  
> mysqli_stmt_prepare().
> // Prepare statement, bind result variables, execute and place  
> results into bound result variables
>   mysqli_stmt_prepare($stmt, $sql11);
>   mysqli_stmt_execute($stmt);
>   mysqli_stmt_bind_result($stmt, $Site, $MedRec, $Fname, $Lname,  
> $Phone, $Height, $Sex, $Hx, $Bday, $Age); //The error is in this  
> statement.
>    while (mysqli_stmt_fetch($stmt)) {
>        printf("%s %s %s %s %s %s %s %s %s %s \n", $Site, $MedRec,  
> $Fname, $Lname, $Phone, $Height, $Sex, $Hx, $Bday, $Age);
>    }
>
> I get no output from the printf statement.
>
> I receive the following error:
>
> Warning: mysqli_stmt_bind_result(): Number of bind variables doesn't  
> match number of fields in prepared statement.
>
> The query, with the values inserted, works on the command line
>
> Help and advice, please.
>
> Ethan
>
>
> -- 
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>

Karl DeSaulniers
Design Drumm
http://designdrumm.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.