php - mysqli prepared statement not working in login -
i want login user, returns 0 in num rows. problem?
config.php
<?php $hostname="localhost"; $titulo="config"; $user="root"; $pass=""; $bd="st"; $mysqli_link = new mysqli($hostname, $user, $pass, $bd); if (mysqli_connect_errno()) { printf("connect failed: %s\n", mysqli_connect_error()); exit(); } ?>
no error showing.
login.php
include("config.php"); $user = $_post['user']; $pass = $_post['pass']; $stmt = $mysqli_link->prepare("select id, user cadastro binary user = ? , binary senha = ?"); $stmt->bind_param('ss', $user, $pass); $stmt->execute(); $stmt->store_result(); //it works!!** $num = $stmt->num_rows; echo $num; //$num 0 why? if($num > 0) {...
i type user , pass correctly, im converting mysql mysqli.
edit-------------------------------------------------------
with $stmt->store_result(); works! have error in part:
$i=$mysqli_link->prepare("update cadastro set `lastsession` = ? `user` = ? limit 1;"); $i=$mysqli_link->bind_param('ss', $sessionid, $user); $i=$mysqli_link->execute();
fatal error: call undefined method mysqli::bind_param() in c:\xampp\htdocs\login.php on line 45
now have shown real code! , problem have use $stmt
variable this:
$stmt = $mysqli_link->prepare("update cadastro set `lastsession` = ? `user` = ? limit 1"); $stmt->bind_param('ss', $sessionid, $user); //^^^ see here $stmt->execute(); $stmt->store_result();