Php Mysqli未定义函数
在执行Php Mysqli未定义函数,php,database,phpmyadmin,mysqli,connection,Php,Database,Phpmyadmin,Mysqli,Connection,在执行 mysqli_bind_result(); 我收到一个错误,说“调用未定义的函数” 我的代码如下所示: $mysqli = new mysqli("localhost", "root", "", "*****"); if(isset($_POST['login'])){ if($_POST['username']){ if($_POST['password']){ $username = $_POST['username']; $passwordtmp
mysqli_bind_result();
我收到一个错误,说“调用未定义的函数”
我的代码如下所示:
$mysqli = new mysqli("localhost", "root", "", "*****");
if(isset($_POST['login'])){
if($_POST['username']){
if($_POST['password']){
$username = $_POST['username'];
$passwordtmp = $_POST['password'];
$password = md5(md5($passwordtmp));
//Connect to Database//
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
//Check if user exist in database//
$query = mysqli_query($mysqli,"SELECT * FROM users WHERE username = '$username'");
$numrows = mysqli_num_rows($query);
if($numrows == 1){
if($stmt = mysqli_prepare($mysqli, "SELECT password FROM users WHERE username = '$username'")){
mysqli_execute($stmt);
mysqli_bind_result($stmt,$passw);
while(mysqli_stmt_fetch($stmt)){
$pass = $passw;
}
其他信息:
$mysqli = new mysqli("localhost", "root", "", "*****");
先谢谢你。我将对这些有用的答案表示感谢。您可能正在使用PHP>5.4,因为PHP 5.4中删除了函数
mysqli\u bind\u result
将其更改为,这将解决您的问题
mysqli_stmt_bind_result($stmt, $passw);
您可能正在使用PHP>5.4,因为函数
mysqli\u bind\u result
在PHP5.4中被删除
将其更改为,这将解决您的问题
mysqli_stmt_bind_result($stmt, $passw);
您将对SQL注入敞开大门。请了解如何使用参数化查询(最好是PDO模块)来保护您的web应用程序。有一些示例可以帮助您入门。您混合了mysqli的OOP用法和功能用法。虽然它可能会工作,但保持它的一致性有助于可读性和维护。作为对@AndyLester的评论,mysqli完全能够进行参数化查询,因此在这一点上没有明显的理由切换到PDO。我已经从另一个人那里接管了这段代码,并且正在转换过程中,您将对SQL注入敞开大门。请了解如何使用参数化查询(最好是PDO模块)来保护您的web应用程序。有一些示例可以帮助您入门。您混合了mysqli的OOP用法和功能用法。虽然它可能会工作,但保持它的一致性有助于可读性和维护。作为对@AndyLester的评论,mysqli完全能够进行参数化查询,因此在这一点上没有明显的理由切换到PDO。我已经从另一个人那里接管了这个代码,并且正在转换过程中