从基于查询字符串的数据库中获取一行

时间:2014-05-25 16:45:52

标签: php mysql

这里有一个php / mysql noob的BIt,希望有人可以提供帮助。

好的,所以我有一个在查询字符串中有id的URL,如下所示:wwww.mysite.com/page1.php?id = 1

我想要做的是连接数据库中的表并从一行中的列获取数据,其中第一列名为ID等于查询字符串中保存的id号。

然后我想打印页面上其他div的每一列的数据。

如果表中没有与查询字符串具有相同id的行,还有另外一个问题:我希望它将查询字符串中的id更改为1并加载行数据。

我有点走了,我知道连接好了,但我不知道其余的是否是我想要的:

  <?php
 $link = mysql_connect('Address', 'Database', 'Password');
 if (!$link) {
 die('Could not connect to MYSQL database: ' . mysql_error());
 }
 $per = $_GET['id'];
 $query = "select A,B,C,D,E,F,G,H,I,J,K,L from table_name where per=".$_GET['ID']."";
 echo $result['A'];
 mysql_close($link);
 ?>

然后将其放入div中以打印数据。

 <?php echo $result['A']; ?>

我是沿着正确的方向还是完全错了?

2 个答案:

答案 0 :(得分:0)

在代码中使用mysql_query function

mysql _ * 函数自PHP 5.5.0起不推荐使用,不建议用于编写新代码,因为将来会删除它们。相反,应使用mysqliPDO_MySQL扩展名。

 <?php
 $link = mysql_connect('Address', 'Database', 'Password');
 if (!$link) {
 die('Could not connect to MYSQL database: ' . mysql_error());
 }
 $per = $_GET['id'];
 $query = "select A,B,C,D,E,F,G,H,I,J,K,L from table_name where per=$per";
 $result = mysql_query($query, $link) or die(mysql_error());
 $row = mysql_fetch_assoc($result);
 echo $row['A'];
 mysql_close($link);
 ?>

答案 1 :(得分:0)

$dbConnection = mysql_connect('Address', 'Database', 'Password');
if (!$dbConnection) {
   die('Could not connect to MYSQL database: ' . mysql_error());
}
$per = $_GET['id'];
$query = $dbConnection->prepare("select A,B,C,D,E,F,G,H,I,J,K,L from table_name where per = ?");
$query->bind_param('s', $per);

$query->execute();
$result = $query->get_result();

<?php echo $result; ?>

首先使用此代码以避免SQL注入第二,它应该在PHP中工作的方式首先准备查询第二次执行,然后才显示它。