mysqli准备语句错误

时间:2016-06-25 19:53:06

标签: php mysqli prepared-statement

这是我第一次使用这种代码。

如果可能的话,请用相对简单的语言参考。

我得到的错误就像:

mysqli_stmt_bind_param() expects parameter 1 to be mysqli_stmt, boolean given 
mysqli_stmt_execute() expects parameter 1 to be mysqli_stmt, boolean given 
mysqli_stmt_get_result() expects parameter 1 to be mysqli_stmt, null given`  

我尝试了一些mysqli_error()类似的东西,但有些人自己犯了错误或没有显示任何内容。

代码:

$db=mysqli_connect(\\\CONNECTION\\\) or die ("\\\SOME TEXT\\\");
$name = mysqli_real_escape_string($db, htmlspecialchars($_POST['username']));
$query = 'SELECT * FROM t_user WHERE Benutzername = ?';
$stmt = mysqli_stmt_init($db); 
$prepared = mysqli_stmt_prepare($stmt, $query);
$bind = mysqli_stmt_bind_param($prepared, 's', $name);
$run = mysqli_stmt_execute($prepared);
$result = mysqli_stmt_get_result($run);`

我想从此查询继续if($result)

提前致谢

1 个答案:

答案 0 :(得分:-2)

我猜你的意思是......

$name=$_Post['username'];
try
{
   $pdo = new PDO('mysql:host=localhost;dbname=dbNAME', 'dbUser', 'dpPsswd');
   $stm = $dbo->prepare("SELECT * FROM user WHERE name=$name");  
   $stm->execute();
   $result = $stm->fetch();
   if ($result)
   {
      //do it
   }

}
catch (PDOException $e)
{
    print "Error!: " . $e->getMessage() . "<br/>";
    die();
}