我有一个用phpmyadmin制作的数据库表。我希望表的元素按行存储在数组中。我有三列名为edge_id
,vertexA
和VertexB
。我希望将这三列的元素存储到数组中。
我不知道PHP的那些命令。请帮帮我。
答案 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);