gpt4 book ai didi

php - mysqli_fetch_assoc 在第一行死了

转载 作者:可可西里 更新时间:2023-10-31 23:30:53 25 4
gpt4 key购买 nike

我在 MySQL 中有下表:

╔══════╦════╗
║...城市.....║... zip ..║
╠══════╬════╣
║ 布拉格。 ║ 11000║
║ bool 诺..... ║ 34785║
╚═══════════╝

以下代码有效:

Class Mysql{
function connect(){
$this->c = new mysqli(
$this->OPTION['dbhost'],
$this->OPTION['dbuser'],
$this->OPTION['dbpass'],
$this->OPTION['dbname']
);
if($this->c->connect_errno){
exit("Connect failed: ".$this->c->connect_error);
}
if(!$this->c->select_db($this->OPTION['dbname'])){
exit("Cannot select the database: ".$this->OPTION['dbname']);
}
}
function query($query){
if(!$this->c->query($query)){
exit("Cannot execute the query: {$query}<br>MySQL Error: {$this->c->error}<br>MySQL Error Code: {$this->c->errno}");
}
return $this->c->query($query);
}
function fetch_assoc($result){
return $result->fetch_assoc();
}
}

$DB = new Mysql;
$DB->connect();
$query = $DB->query("SELECT city, ZIP FROM cities");
while($row = $DB->fetch_assoc()){
print_r($row);
}

代码一直有效,直到我尝试像这样更改 fetch_assoc 部分:

  function fetch_assoc($query){
$result = $this->query($query);
return $result->fetch_assoc();
}
}

$DB = new Mysql;
$DB->connect();
while($row = $DB->fetch_assoc("SELECT city, ZIP FROM cities")){
print_r($row);
}

在这种情况下,它无休止地(被最大执行时间停止)打印表格的第一行:数组([城市] => 布拉格 [ZIP] => 11000 )

最佳答案

我相信这应该做到,它将进行一次查询并迭代它,正如我在上面的评论中提到的那样:

$DB = new Mysql;
$DB->connect();
$query = $DB->query("SELECT city, ZIP FROM cities");
$result = $DB->fetch_assoc();
while ($row = $result->fetch_assoc()) print_r($row);

关于php - mysqli_fetch_assoc 在第一行死了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25356502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com