我是php的初学者,我有一些麻烦。我的问题是关于PHP和MySQL。代码的目的是我有一个名为$ sql的参数,我将在其中编写SQL查询。问题是我的代码只打印了一行咨询。我的意思是,如果我有一个包含4列(属性)的表,并且在该表中我有4行,则代码只打印每列的一行。
该方法参考代码:
public function makeConsult($sql){
$result = mysqli_query($this->conn, $sql);
$nrows= mysqli_num_rows($result);
if ($nrows> 0) {
for($i = 0;$i<count($nrows);$i++) {
$row= mysqli_fetch_array($result,MYSQLI_NUM);
for ($j=0; $j < count($row) ; $j++) {
array_push($this->results, $row[$j]);
}
}
} else {
echo "No matches found";
}
}
以下方法是我打印所有咨询的地方:
public function printResult(){
foreach ($this->results as $key => $value) {
echo $key . ": " . $value . "<br>";
}
$this->results = array();
}
变量$ conn是我拥有sql连接的变量。
我的执行代码:
$db = new dbConnection("localhost","root","","sportsweb");
$db->connect();
echo "Database name: " . $db->getDBname();
$consult = $db->makeConsult("SELECT * FROM articles A");
$db->printResult();
$db->closeConnection();
表“articles”的列(属性)如下:Id,Name,Units,BranchOffice。
谢谢! :)