function fetchbyId($tableName,$idName,$id){
global $connection;
$stmt = mysqli_prepare($connection, 'SELECT * FROM ? WHERE ? = ?');
var_dump($stmt);
mysqli_stmt_bind_param($stmt,'s',$tableName);
mysqli_stmt_bind_param($stmt,'s',$idName);
mysqli_stmt_bind_param($stmt,'i',$id);
$stmt = mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($name,$id);
$fetchArray = array();
while($row = mysqli_stmt_fetch($stmt)){
$fetchArray[] = $row;
}
return $fetchArray;
}
我可以使用表名的地方持有人嗎?或者這是唯一可能的表列?mysql準備的語句,這可能嗎?
這是不可能的列。這是你正在嘗試構建的無用功能。它可以幫你避免輸入3個單詞,但會使你的代碼變得不可讀。 – 2010-12-18 17:59:29
使它成爲像這樣運行的一個通用函數''data = getRow(「SELECT * FROM table WHERE id =?」,$ id);' – 2010-12-18 18:05:33
@Col。 Shrapnel:不幸的是,這個解決方案(getRow)剝奪了他對數據庫的抽象。切換到XML或對象存儲將是一個痛苦... – netcoder 2010-12-18 18:09:40