Re: Re: Problems w/ insert

Jim Giner <[email protected]>
Newsgroups gmane.comp.php.database
Message-ID <[email protected]>
On 9/11/2012 12:04 AM, Matt Pelmear wrote:
> Ethan,
>
> I am curious why you are using mysqli_stmt_bind_result() on a statement
> that is an INSERT query? I don't use mysqli, but as I read the
> documentation it seems to me that this method is intended to bind
> results from a SELECT query into variables so that you can simply call
> mysqli_stmt_fetch() in a loop and have the variables magically contain
> the data from the next row.
>
> Perhaps mysqli is confused because you are both mapping data to be bound
> (with mysqli_stmt_bind_param()) and to be returned (with
> mysqli_stmt_bind_result()) on the same INSERT query?
>
> If you are just trying to insert, you should only need
> mysqli_stmt_bind_param() (which, by my count, has one parameter too many
> right now in your code) and mysqli_stmt_execute()   (and probably not
> mysql_stmt_bind_param() and mysql_stmt_fetch()). See "Example #2" here:
> http://us.php.net/manual/en/mysqli-stmt.execute.php
>
> -Matt
>
> On 09/10/2012 08:29 PM, Karl DeSaulniers wrote:
>>
>> On Sep 10, 2012, at 7:06 PM, Ethan Rosenberg, PhD wrote:
>>
>>> Dear list -
>>>
>>>  Here is my code:
>>>
>>> $sql3 = "select max(Indx) from Visit3";
>>>            $result7 = mysqli_query($cxn, $sql3);
>>>            $row7 = mysqli_fetch_array($result7, MYSQLI_BOTH);
>>>
>>>            $Indx = $row7[0];
>>>            $sql2 =  "INSERT INTO Visit3(Indx, Site, MedRec, Notes,
>>> Weight, BMI, Date) VALUES(?, ?, ?, ?, ?, ?, ? )";
>>>
>>>            mysqli_stmt_prepare( $stmt, $sql2 );
>>>
>>>            $_POST['Indx'] = $Indx;
>>>
>>>            $_POST['Date'] = $Date;
>>>
>>>            mysqli_stmt_bind_param($stmt, 'isisiis', $_POST['Indx'],
>>> $_POST['Site'], $_POST['MedRec'],
>>>                $_POST['Notes'], $_POST['Weight'], $_POST['BMI'],
>>> $_POST['Date']);
>>>            mysqli_execute($stmt);
>>>            mysqli_stmt_bind_result($stmt, $_POST['Indx'],
>>> $_POST['Site'], $_POST['MedRec'],  $_POST['Notes'],
>>>                $_POST['Weight'], $_POST['BMI'], $_POST['Date']);
>>> *//The error is in this statement*
>>>           mysqli_stmt_fetch($stmt);
>>>           mysqli_stmt_close($stmt);
>>>
>>> *Warning: mysqli_stmt_bind_result(): Number of bind variables doesn't
>>> match number of fields in prepared statement*
>>>
>>> *
>>> *
>>> Help and advice, please.
>>>
>>> Ethan Rosenberg
>>>
>>> --
>>> PHP Database Mailing List (http://www.php.net/)
>>> To unsubscribe, visit: http://www.php.net/unsub.php
>>>
>>
>>
>> Maybe right here there needs to be something?
>>
>> mysqli_stmt_bind_result($stmt, ?????, $_POST['Indx'], ...
>>
>> in the statement above you have.
>>
>> mysqli_stmt_bind_param($stmt, 'isisiis', $_POST['Indx'], ...
>>
>> what ever 'isisiis' is, you need to put somehting in your
>> ...bind_result() I think.
>> maybe..
>>
>> mysqli_stmt_bind_result($stmt, '', $_POST['Indx'],
>>
>> or
>>
>> mysqli_stmt_bind_result($stmt, 'isisiis', $_POST['Indx'],
>>
>> sorry for not a more concrete answer. I am guessing a little. :)
>> HTH,
>>
>> Karl DeSaulniers
>> Design Drumm
>> http://designdrumm.com
>>
>>
>
If I had read further I would not have made my post a moment ago.  Give 
Matt here the credit for seeing the forest thru the trees.  :)

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
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.