将数据表的元素存储到数组中

时间:2010-11-27 04:40:34

标签: php sql

我有一个用phpmyadmin制作的数据库表。我希望表的元素按行存储在数组中。我有三列名为edge_idvertexAVertexB。我希望将这三列的元素存储到数组中。

我不知道PHP的那些命令。请帮帮我。

3 个答案:

答案 0 :(得分:2)

首先需要连接数据库:

$link = mysql_connect('localhost','username','password');
if (!$link) {
    // Cannot connect
}
$ret = mysql_select_db('database-name', $link);
if (!$ret) {
    // Cannot select database
}

然后你需要执行你的查询:

$ret = mysql_query('SELECT * FROM `table`;', $link);
if (!$ret) {
    // Query failed
}

然后你只需加载每一行:

$data = array();
while ($row = mysql_fetch_assoc($ret)) {
    $data[] = $row;
}

然后你应该释放你的请求结果

mysql_free_result($ret);

瞧瞧。

答案 1 :(得分:2)

  

我的表中列有名称   “vertexa”和“vertexb”,我想   将柱子分成两个单独的   数组......我怎么能这样做?

最简单的方法是:

$db = new PDO('mysql:host=localhost;dbname=your_db_name;', $user, $password);
$vertices_a = array();
$vertices_b = array();

foreach($db->query('SELECT * from your_table_name') as $row){
  $id = $row['edge_id'];

  // add them to the proper array using the edge_id as the index - 
  // this assumes edge_id is unique
  $vertices_a[$id] = $row['vertexa'];
  $vertices_b[$id] $row['vertexb'];
}

所以使用PDO:

$db = new PDO('mysql:host=localhost;dbname=your_db_name;', $user, $password);

foreach($db->query('SELECT * from your_table_name') as $row){
  echo $row['edge_id'];
  echo $row['vertexA'];
  echo $row['vertexB'];
}

现在,如果您需要使用输入数据,则需要将其转义。执行此操作的最佳方法是使用预准备语句,因为当参数绑定到查询时,将处理转义。

让我们假设你想使用像edge_id这样的获取请求提供的mysite.com/show-boundry.php?edge=5 ...

$db = new PDO('mysql:host=localhost;dbname=your_db_name;', $user, $password);

// create a prepared statement
$stmt = $db->prepare('SELECT * from your_table_name WHERE edge_id = ?');

// execute the statement binding the edge_id request parameter to the prepared query
$stmt->execute(array($_GET['edge']));

// loop through the results    
while(false !== ($row = $stmt->fetch(PDO::FETCH_ASSOC))){
  echo $row['edge_id'];
  echo $row['vertexA'];
  echo $row['vertexB'];
}

此外,您不应使用vertexA等混合大小写列/表名,而应使用vertex_a等下划线分隔符。

答案 2 :(得分:1)

$res = mysql_query("............");
$row = mysql_fetch_array($res);

结帐:mysql_fetch_array PHP page