FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » Problem with mysqli_stmt_bind_param()
Show: Today's Messages :: Polls :: Message Navigator
Return to the default flat view Create a new topic Submit Reply
Re: Problem with mysqli_stmt_bind_param() [message #179576 is a reply to message #179572] Fri, 09 November 2012 08:51 Go to previous messageGo to previous message
M. Strobel is currently offline  M. Strobel
Messages: 386
Registered: December 2011
Karma:
Senior Member
Am 08.11.2012 22:38, schrieb rayven:
> Can anyone help as I am at my wits end.
> On my PHP page, the following code works perefectly:
>
> <?php
> $connection = new mysqli("localhost", "...", "...", "...");
> $sql="SELECT field1, field2 FROM mytable";
> if($stmt = mysqli_prepare($connection, $sql))
> {
> mysqli_stmt_bind_param($stmt, "s", $emailaddress);
> mysqli_stmt_execute($stmt);
> mysqli_stmt_bind_result($stmt, $clientid, $siteadmin);
> mysqli_stmt_fetch($stmt);
> echo($clientid);
> echo($siteadmin);
> mysqli_stmt_close($stmt);
> }
> mysqli_close($connection);
> ?>
>
> But the moment I introduce mysqli_stmt_bind_param() and a parameter on the SELECT statement, I get rows_affected = -1 and no error returned, and no data is returned either. But if I run the same statement with the same parameters (and I have checked the parameter variables are populated correctly) in the mysql administrator, it works!
>
> <?php
> $connection = new mysqli("localhost", "...", "...", "...");
> $sql="SELECT field1, field2 FROM mytable WHERE field3=?";
> if($stmt = mysqli_prepare($connection, $sql))
> {
> mysqli_stmt_bind_param($stmt, "s", $myparam);
> mysqli_stmt_execute($stmt);
> mysqli_stmt_bind_result($stmt, $clientid, $siteadmin);
> mysqli_stmt_fetch($stmt);
> echo($clientid);
> echo($siteadmin);
> mysqli_stmt_close($stmt);
> }
> mysqli_close($connection);
> ?>
>
> What on earth am I doing wrong?

On my system (not mysql), I would enable full statement logging in the database and
see what is sent.

Another observation: your code is not very stable, the only time you check a return
code is the prepare step. And you do not check the number of returned rows.

Then style: I wonder why the OO style is not used, it is shorter to write and read.
And you can extend mysqli and put your utility functions into it.

But your problem seems to depend only on the values of your variables.

/Str.
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Analista Programador PHP
Next Topic: Using += assignment recursively on an array w/o notice
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Wed Nov 27 07:42:19 GMT 2024

Total time taken to generate the page: 0.04166 seconds