-5

我查看了 stackoveflow 上的几篇关于创建数组的帖子,但还没有找到我想要的内容......我想尝试这么多不同的答案,并得到一个最接近我想要完成的答案。

假设我想使用此查询创建一个数组:

“从产品中选择 *”

这如何最有效地完成?

谢谢你。

PS - 请注意,我是从头开始的。

更新

我的配置文件:

`[root@CentOS testphp]# vi config.php
<?php
// Connection's Parameters
$db_host="localhost";
$db_name="tablename";
$username="username";
$password="password";
$db_con=mysql_connect($db_host,$username,$password);
$connection_string=mysql_select_db($db_name);
// Connection
mysql_connect($db_host,$username,$password);
mysql_select_db($db_name);
?>`

我试图用...创建数组的 php 代码出现语法错误:

解析错误:语法错误,第 2 行 /var/www/html/testphp/test.php 中的意外 T_VARIABLE

我犯了同样的错误:

`[root@CentOS testphp]# vi test.php
<?php include('config.php')
$query = "select * from upload_products";
$dataArray = array();
$result = mysqli_query($query, $link);
while($row = mysqli_fetch_assoc($query)) {
$dataArray[] = $row;
}
var_dump($dataArray); //Now you have your array.
?>`

任何想法......感觉就像我在这里遗漏了一些东西。而且,是的,我已经阅读了文档...逐行使用了他们的代码,查看了代码,但仍然得到与我在网上找到的所有代码示例相同的错误。

4

4 回答 4

2

没有明确的方法可以将数据库结果对象转换为关联数组目录。您将不得不创建这个数组作为您的结果。

$query = "...";
$dataArray = array();
$result = mysqli_query($query, $link);
while($row = mysqli_fetch_assoc($query)) {
    $dataArray[] = $row;
}
var_dump($dataArray); //Now you have your array.
于 2012-06-18T09:09:43.443 回答
1

您可以使用:

$query = mysqli_query("SELECT * FROM products");
$result = mysqli_fetch_assoc($query);

但是您只会在 $result 变量中收到一行。如果要获取所有内容,则必须对其应用任何循环:例如:

$query = mysqli_query("SELECT * FROM products");
while($result = mysqli_fetch_assoc($query)){
 //do something with your results 
 //you can access result like: $result['column_name']
}

你现在清楚了吗?

于 2012-06-18T09:05:35.790 回答
0

尝试这个

@ $db = new mysqli('localhost', 'username', 'password', 'dbname');

  if (mysqli_connect_errno()) {
     echo 'Error: Could not connect to database.  Please try again later.';
     exit;
  }

  $query = "select * from books";
  $result = $db->query($query);

  $num_results = $result->num_rows;

  echo "<p>Number of books found: ".$num_results."</p>";

  for ($i=0; $i <$num_results; $i++) {
     $row = $result->fetch_assoc();
    // echo something here
  }

  $result->free();
  $db->close();
于 2012-06-18T10:35:26.410 回答
0

您可以使用mysql_fetch_assocmysql_fetch_array以数组形式获取 mysql 查询响应。以下是如何使用两者的代码示例。

使用 mysql_fetch_assoc

$query = "select * from products";
$result = mysql_query($query);
if (mysql_num_rows($result) != 0) {
   while ($row = mysql_fetch_assoc($result)) {
          //every row will represent a record as an array
          // your code   
   }
}

使用 mysql_fetch_array

 $query = "select * from products";
 $result = mysql_query($query);
 if (mysql_num_rows($result) != 0) {
       while ($row = mysql_fetch_array($result,MYSQL_ASSOC)) {
           //every row will represent a record as an array
           //  your code
      }
 }

如果您还有任何疑问,请参阅 php 手册。

于 2012-06-18T09:19:27.480 回答