mysqli :: query () ожидает, что параметр 1 будет строкой в ​​PHP - PullRequest
0 голосов
/ 29 марта 2020

У меня ниже Query в моем Php, он выводит результат, но в то же время выдает ошибку mysqli::query() expects parameter 1 to be string, что не так в приведенном ниже коде

 $con = @mysqli_connect("localhost","$dbname","$dbpass","$dbuser");

 if (!$con)
 {
    die('Connect Error: ' . mysqli_connect_error());
 }

 $sql_uid=$con->prepare("SELECT id From $dtUsi Where mobile_number='$umobile' and user_type='$user_type'");

 $stmti = $con->query($sql_uid);

 while($rowi = $stmti->fetch_assoc()) {
 $ur_id= $rowi['id'];
 }
 echo $ur_id;

1 Ответ

1 голос
/ 29 марта 2020

Вы не можете использовать подготовить и запрос одновременно. Вы задаете функцию $sql_uid to query, как будто это строка запроса, а это не так. Используйте один из этих подходов.

Либо

$con = @mysqli_connect("localhost","$dbname","$dbpass","$dbuser");

 if (!$con)
 {
    die('Connect Error: ' . mysqli_connect_error());
 }

 $stmti=$con->query("SELECT id From $dtUsi Where mobile_number='$umobile' and user_type='$user_type'");

 while($rowi = $stmti->fetch_assoc()) {
 $ur_id= $rowi['id'];
 }
 echo $ur_id;

или

$con = @mysqli_connect("localhost","$dbname","$dbpass","$dbuser");

 if (!$con)
 {
    die('Connect Error: ' . mysqli_connect_error());
 }

 $stmti=$con->prepare("SELECT id From $dtUsi Where mobile_number='?' and user_type='?'");
 $stmt->bind_param("ss", $umobile, $user_type);

 $stmt->execute();
 while($rowi = $stmti->fetch_assoc()) {
 $ur_id= $rowi['id'];
 }
 echo $ur_id;

Эти ссылки могут быть полезны:

PHP MySQL Подготовленные заявления

Выбор данных с MySQLi

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...