使用PHP和MySQL创建数组

时间:2012-06-18 09:00:53

标签: php mysql database arrays

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

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

“select * from products”

如何最有效地完成这项工作?

谢谢。

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 个答案:

答案 0 :(得分: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.

答案 1 :(得分: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']
}

现在对你说清楚了吗?

答案 2 :(得分: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手册。

答案 3 :(得分: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();