누락 된 부분이나 데이터가 표시되지 않는 이유를 알 수 없습니다. 준비된 문을 사용하지 않으면 코드가 작동합니다. 준비된 문장을 사용할 때 코드가 더 이상 작동하지 않는 것 같습니다.prepared statement method .. confused
db.php를
Class Database{
public $mysqli;
public function __construct($db_host, $db_user, $db_password, $db_name){
$this->con = new mysqli($db_host, $db_user, $db_password, $db_name);
}
public function selectUserInfo($id){
$stmt = $this->con->prepare("SELECT * FROM users WHERE os_id = ?");
$stmt->bind_param("s", $id);
if($stmt->execute() == FALSE){
trigger_error($stmt->error, E_USER_ERROR);
}else{
$data = array();
while($row = $stmt->fetch()){
$data[] = $row;
}
return $data;
}
}
}
config.php 파일은
define("DBHOST","somehost");
define("DBUSER","someroot");
define("DBPASS","somepassword");
define("DB","my_database");
이 내 페이지에 그것을 표시 할 방법이다.
require 'global/db.php';
require_once 'config.php';
$db = new Database(DBHOST, DBUSER, DBPASS, DB);
$data = $db->selectUserInfo($_GET['name']);
foreach ($data as $key) {
# code...
echo $key['os_fname'];
}
오류 메시지가 없습니다. 'name'이라는 GET 매개 변수를 전달하고 있습니까? 그렇다면 DB에'osd_id'가 해당 매개 변수와 같은 행이 있습니까? – Phil
오류 메시지가 표시되지 않습니다. 내 $ _GET [ 'name']에 1의 값을 표시하고 싶습니다. – eaponz
@ 에드거 그래서 * page *를 열 때 '? name = 1'이 (가) 있습니까? URL? – Phil