Member 8057273 Ответов: 1

Ошибка Php bind_param() не понятна


Привет У меня есть следующий код:
$stmt="SELECT state FROM branch_info WHERE state = ? AND branch = ?";
							
if($stmt === false)
{
	trigger_error('Wrong SQL: ' . $sql . ' Error: ' . $conn->errno . ' ' . $conn->error, E_USER_ERROR);
}
$param1=$_POST["states"];
$param2=$_POST["exstbr"];
$stmt->bind_param('ss',$param1,$param2);
$stmt->execute();
$result = $stmt->get_result();
while($row = $result->fetch_array(MYSQLI_ASSOC))
{
	if($row["state"] > 0)
		echo "Already Exists";
}
$stmt->close();

Я получил следующую ошибку:
Fatal error: Call to a member function bind_param() on string in C:\---------------------------------------------- on line 60

Пожалуйста, помогите в этом отношении. Это срочно. Заранее спасибо.

Что я уже пробовал:

У меня есть попытки передать параметры напрямую, это не сработало.
Я использовал echo $param1; и echo $param2, чтобы проверить наличие значений перед операцией bind_param (), и значения хорошо отражаются на веб-странице.
Я тоже пытался
$stmt->bind_param("ss", $param1, $param2);
но никаких чудес.

1 Ответов

Рейтинг:
5

Prava-MFS

Привет,

Вы пропустили подготовку заявления. Пожалуйста, попробуйте ниже код.

$stmt = $conn->prepare("SELECT state FROM branch_info WHERE state = ? AND branch = ?");
							
if($stmt === false)
{
	trigger_error('Wrong SQL: ' . $sql . ' Error: ' . $conn->errno . ' ' . $conn->error, E_USER_ERROR);
}

$param1=$_POST["states"];
$param2=$_POST["exstbr"];
$stmt->bind_param('ss',$param1,$param2);
$stmt->execute();
$result = $stmt->get_result();

while($row = $result->fetch_array(MYSQLI_ASSOC))
{
	if($row["state"] > 0)
		echo "Already Exists";
}

$stmt->close();


Надеюсь, что $conn - это ваш объект соединения, и он должен выглядеть так, как показано ниже.

$conn = new mysqli($servername, $username, $password, $dbname);


Надеюсь, это вам поможет:).