Мой код php
работает нормально, когда он не является prepared statement
. Однако, когда это подготовленное заявление, оно дает мне json malformed error
. После отладки моего кода в течение некоторого времени я понял, что что-то не так с моим оператором if
и что он должен быть другим, когда он равен prepared statement
. Я не уверен, что нужно изменить, но это мой код:php Подготовлено заявление, дающее мне JSON Malformed
$statement = "SELECT userID, forename, surname, email, age FROM employees WHERE forename = ?"
$outcome = $conn -> prepare($statement);
$outcome->bind_param('s', $forename);
$outcome->execute();
$outcome->close();
$outcomearray = array();
echo json_encode("It works as of now"); // This bit works and the message is echoed
// From this point, it is giving me errors and problems
if(mysqli_num_rows($outcome)){
while($line = mysqli_fetch_assoc($outcome)){
$outcomearray[] = array
(
"userID" => $line["userID"],
"forename" => $line["forename"],
"surname" => $line["surname"],
"username" => $line["username"],
"email" => $line["email"],
"age" => $line["age"]
);
}
echo json_encode($outcomearray);
}
Это следующие две строки:
if(mysqli_num_rows($outcome)){
while($line = mysqli_fetch_assoc($outcome)){
, что я считаю, дают ошибки.
Как исправить это?
Вы удалили это 'эхо json_encode ("Он работает как сейчас");' и попробовал еще раз? –
У меня есть и я получаю 'Malformed JSON: Неожиданный '<''. Я считаю, что это оператор 'if' –
Закройте соединение в конце вашего скрипта вместо того, чтобы извлекать строки. – max