왜 print_r ($ row); 1 번만 반환할까요?
문제
나는 PHP5를 배우려고 노력하고 있으며 몇 가지 문제가 있습니다. 준비된 진술로 작업 중이며 다음 코드를 실행하려고합니다.
<?php
require_once 'includes/config.php';
$conn = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME) or
die('There was a problem connecting to the database.');
$query = "SELECT * FROM user_table";
if($stmt = $conn->prepare($query)) {
$stmt->execute();
while ($row = $stmt->fetch()) {
print_r ($row);
}
}
?>
ID, login_name, login_password 및 login_level이 포함 된 각각을 반환해야합니다.
진술이 실행되면 다음을 인쇄합니다.
11
모든 도움은 대단히 감사하겠습니다.
해결책
그만큼 술책() 메소드 리턴 TRUE
, FALSE
, 또는 NULL
데이터를 가져 오는 데 성공했는지 여부에 따라 배열에서 데이터를 반환하지 않습니다. 대신 결과는 변수가 bind_result () 방법.
다른 팁
PHP에서는 1이 참이므로 1을 반환합니다.
당신이해야 할 일은 변수를 [bind_result][1]
방법과 수행 :
while ($stmt->fetch()) {
printf ("%s\n", $variable);
}
좋은 예는 결과 문서 페이지 바인드.
이 방법을 얻으려면 먼저 다음과 같은 결과 변수를 바인딩해야합니다.
$stmt->execute();
// bind the result variables in order
$stmt->bind_result($id, $login_name, $login_password, $login_level);
// then get results
while ($stmt->fetch()) {
var_dump($id, $login_name, $login_password, $login_level);
}
제휴하지 않습니다 StackOverflow