相关疑难解决方法(0)

命令不同步; 你现在不能运行这个命令

我正在尝试执行我的PHP代码,它通过mysqli调用两个MySQL查询,并得到错误"命令不同步;你现在无法运行此命令".

这是我正在使用的代码

<?php
$con = mysqli_connect("localhost", "user", "password", "db");
if (!$con) {
    echo "Can't connect to MySQL Server. Errorcode: %s\n". Mysqli_connect_error();
    exit;
}
$con->query("SET NAMES 'utf8'");
$brand ="o";
$countQuery = "SELECT ARTICLE_NO FROM AUCTIONS WHERE upper(ARTICLE_NAME) LIKE % ? %";
if ($numRecords = $con->prepare($countQuery)) {
    $numRecords->bind_param("s", $brand);
    $numRecords->execute();
    $data = $con->query($countQuery) or die(print_r($con->error));
    $rowcount = $data->num_rows;
    $rows = getRowsByArticleSearch("test", "Auctions", " ");
    $last = ceil($rowcount/$page_rows);
}  else {

print_r($con->error);
}
foreach ($rows as $row) {
    $pk = $row['ARTICLE_NO'];
    echo '<tr>' …
Run Code Online (Sandbox Code Playgroud)

php mysql sql mysqli

86
推荐指数
6
解决办法
18万
查看次数

php password_verify不使用数据库

我使用PHP 5.4与这个向后兼容脚本:https://github.com/ircmaxell/password_compat/blob/master/lib/password.php

但这应该不重要,因为我可以在我的注册函数中使用散列和验证过程:

$hash = password_hash($pass, PASSWORD_DEFAULT);

echo $pass;
echo $hash;

if( password_verify($pass,$hash) )
    echo 'success';
else echo 'failure';

//success is always shown

//EXAMPLE INPUT
$pass = 'password';

//EXAMPLE OUTPUT
password$2y$10$JK1jumvvSIm/gP3fWE3k9O98MzvHKDRYCjRPBniYg9riACyQw7WYSsuccess
Run Code Online (Sandbox Code Playgroud)

但每当我尝试将哈希存储在MySQL数据库中然后为验证函数检索它时,它总是会失败.这是我的登录功能:

function user_login( $mysqli, $email, $pass ){    

        $err_msg = 'login: '.$mysqli->error.' | '.$email;

        if( $stmt = $mysqli->prepare('SELECT password FROM users WHERE email=?') ) :

            if( !$stmt->bind_param('s', $email) ) log_sql_error( $err_msg );
            if( !$stmt->execute() ) log_sql_error( $err_msg );
            if( !$stmt->bind_result( $hash ) ) log_sql_error( $err_msg );
            if( …
Run Code Online (Sandbox Code Playgroud)

php mysql passwords mysqli password-protection

14
推荐指数
2
解决办法
3万
查看次数

MySqli命令不同步; 你现在不能运行这个命令

我已将我的注册脚本从mysql转换为mysqli.我工作得很好,但它现在给了我错误

Commands out of sync; you can't run this command now
Run Code Online (Sandbox Code Playgroud)

这是我用来注册用户的功能

function register_user($register_data) { 
global $myConnection;
array_walk($register_data, 'array_sanitize'); 
//Make the array readable and seperate the fields from data 
$fields = '`' . implode('`, `', array_keys($register_data)) . '`'; 
$data = '\'' . implode('\', \'', $register_data) . '\''; 
//Insert the data and email an activation email to the user 
mysqli_query($myConnection, "INSERT INTO `members` ($fields) VALUES ($data)") or die(mysqli_error($myConnection)); 
email($register_data['mem_email'], 'Activate your account', "Hello " . $register_data['mem_first_name'] . ",\n\nThank you for creating …
Run Code Online (Sandbox Code Playgroud)

php mysql mysqli

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

mysql ×3

mysqli ×3

php ×3

password-protection ×1

passwords ×1

sql ×1