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