Why fetch_assoc() or fetch_row() giving error always

Codes here !

Moderators: macek, egami, gesf

vishalonne
New php-forum User
New php-forum User
Posts: 11
Joined: Fri Jul 27, 2012 9:52 am

Why fetch_assoc() or fetch_row() giving error always

Postby vishalonne » Sun Oct 07, 2012 9:15 am

Hi Every Body
I am facing problem in retreving the data from my mysql table I want to use prepared statement with mysqli for security reason. Here is my code Please give a guidance -

Code: Select all

<?php
$host="localhost"; // Host name
$username="**********"; // Mysql username
$password="**********"; // Mysql password
$db_name="**********"; // Database name
$tbl_name1="**********"; // tem Table name
$tbl_name2="**********"; // registered user table

$mysqli = new mysqli($localhost, $username, $password, $db_name);
if ($mysqli->connect_errno)
{
   echo "Connection Failed: " . mysqli_connect_errno();
    exit();
}
$count=null;
$passkey=$_GET['passkey'];

echo $passkey;  // exact passkey printed
if($stmt = $mysqli -> prepare("SELECT * FROM $tbl_name1 WHERE confirm_code=?"))
{
    $stmt -> bind_param("s", $passkey);
    $stmt -> execute();
    $stmt->store_result();
    $count=$stmt->num_rows;
    echo "\n".$count;   // getting the value 1 which is correct
    if($count==1)
    {
   while($rows = $stmt->fetch_assoc())
   {
        $v_fname=$rows['temp_first_name'];
        $v_lname=$rows['temp_last_name'];
        $v_sex=$rows['temp_sex'];
        $v_phone=$rows['temp_phone'];
        $v_city=$rows['temp_state'];
        $v_state=$rows['temp_city'];
        $v_pin=$rows['temp_pin'];
        $v_schoolname=$rows['temp_school_name'];
        $v_class=$rows['temp_class'];
        $v_subject=$rows['temp_computer_subject'];
        $v_board=$rows['temp_board'];
        $v_session=$rows['temp_session'];
        $v_email=$rows['temp_email'];
        $password=$rows['temp_password'];
        $v_salt=$rows['temp_salt'];

   if (!($insert_stmt = $mysqli->prepare("INSERT INTO $tbl_name2   (first_name,last_name,sex,phone,state,city,pin,school_name,class,computer_subject,board,    session,email,password,salt) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)")))
   {
      echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
   }
   if(!$insert_stmt->bind_param('sssiiisssssssss',$v_fname,$v_lname,$v_sex,$v_phone,$v_city,$v_state,$v_pin,   $v_schoolname,$v_class,$v_subject,$v_board,$v_session,$v_email, $password,$v_salt))
   {
      echo "Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error;
   }
   if(!$insert_stmt->execute())
   {
      echo "Execute failed: (" . $mysqli->errno . ") " . $mysqli->error;
   }
   else
   {
      //echo "Data saved properly";
      $flag=1;
      if($flag==1)
      {
         echo "<body bgcolor='#FFFF99'>";
         echo "<p align='center'><font color='#008000' size='6' face='Verdana'>";
         echo "Congratulation...!! </font>";
         echo "</br>";
         echo "<font color='e80005' size='5'>Your account has been activated</font>";

         if ($stmt = $mysqli->prepare("DELETE FROM $tbl_name1 WHERE confirm_code = ? LIMIT 1"))
                   {
                           $stmt->bind_param("s",$passkey);     
                           $stmt->execute();     
                   }
      }
   }
      }
   }
}
else
{
   echo "Select Failed: (" . $mysqli->errno . ") " . $mysqli->error;
   echo "<body bgcolor='#FFFF99'>";
    echo "<p align='center'><font color='#e80005' size='6' face='Verdana'>";
    echo "SORRY...! </font>";
    echo "</br>";
    echo "<font color='#e80005' size='5'>Your Confirmation code is not correct</font>";
}


  $stmt->close();
?>

vishalonne
New php-forum User
New php-forum User
Posts: 11
Joined: Fri Jul 27, 2012 9:52 am

Re: Why fetch_assoc() or fetch_row() giving error always

Postby vishalonne » Sun Oct 07, 2012 9:28 am

Sorry I forgot to add the error, this is the error I am getting -
Fatal error: Call to undefined method mysqli_stmt::fetch_assoc() in /home/cbsecpsn/public_html/confirmation.php on line 38

seandisanti
php-forum Fan User
php-forum Fan User
Posts: 838
Joined: Mon Oct 01, 2012 12:32 pm

Re: Why fetch_assoc() or fetch_row() giving error always

Postby seandisanti » Thu Oct 11, 2012 8:59 am

What's going on is you're calling fetch_assoc from your statement, not the result. when you do stmt->store_result(), assign that to a variable, like

Code: Select all

$result_set=$stmt->store_result();


then you can call mysqli_fetch_assoc($result_set) or $result_set::fetch_assoc() for oop approach


Return to “mySQL & php coding”

Who is online

Users browsing this forum: No registered users and 1 guest