我有以下代码:
public static function selectBy(Database $database, $columnName, $value){
$connection = $database->getConnection();
$stmt = $connection->prepare('
SELECT * FROM `Logs`
WHERE ' . $columnName . ' = ?;');
$stmt->bind_param('s', $value);
$stmt->execute();
$result = $stmt->get_result();
while($row = $result->fetch_assoc()){
$finalResult[] = $row;
}
return $finalResult;
它的实施:
$logsArray = Log::selectBy($this->database, "ID", "423");
foreach($logsArray as $key=>$logArray){
foreach($logArray as $anotherKey=>$log){
echo $log . "<br />";
}
}
我试图找到一种方法来仅定位我们从数据库返回的特定行字段,例如,仅回显返回的第一个日志的IP。 另一个例子是将我们返回的所有字段分配给Log对象,将一个字段分配给一次变量,或者同时分配所有字段。 结果将是一行对象,类型为&#34; Log&#34;这反映了数据库中的内容。
我遇到的另一个问题是我在fetch_assoc()返回的二维数组的每一行中都有一个额外的字段,它被称为&#34;数组+一个递增的数字&#34;,例如: 数组0 数组1 数组2 显然它是第一个数组中的数组编号,默认情况下使用foreach它会覆盖它。 有没有办法用foreach忽略它?或者首先删除/避免插入它们?
提前致谢。