Re: Prepared Statements - Search

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux