Php 基于querystring从数据库中获取一行

Php 基于querystring从数据库中获取一行,php,mysql,Php,Mysql,这里有点php/mysql的noob,希望有人能帮上忙 好的,我有一个URL,在查询字符串中有一个id,如:www.mysite.com/page1.php?id=1 我要做的是连接到数据库中的一个表,并从一行的列中获取数据,其中第一个名为ID的列等于querystring中保存的ID号 然后,我想在页面的其他地方以不同的div打印每一列的数据 另外还有一个问题是,如果表中没有与querystring具有相同id的行,我希望它将querystring中的id更改为1并加载该行数据 我做了一点尝试

这里有点php/mysql的noob,希望有人能帮上忙

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

我要做的是连接到数据库中的一个表,并从一行的列中获取数据,其中第一个名为ID的列等于querystring中保存的ID号

然后,我想在页面的其他地方以不同的div打印每一列的数据

另外还有一个问题是,如果表中没有与querystring具有相同id的行,我希望它将querystring中的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']; ?>

我的思路是正确的还是完全错误的?

请在代码中使用

mysql.*函数从PHP 5.5.0开始就被弃用,不建议编写新代码,因为它将在将来被删除。相反,应该使用或扩展名

 <?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);
 ?>

$dbConnection=mysql_connect('Address'、'Database'、'Password');
if(!$dbConnection){
die('无法连接到MYSQL数据库:'.MYSQL_error());
}
$per=$_GET['id'];
$query=$dbConnection->prepare(“从表_name中选择A、B、C、D、E、F、G、H、I、J、K、L,其中per=?”;
$query->bind_参数('s',$per);
$query->execute();
$result=$query->get_result();

首先使用此代码以避免SQL注入;其次,这是PHP中的工作方式。首先准备查询,然后执行,然后显示查询。

请参阅手册和教程。您需要知道如何执行查询、获取和从database@user2972392但是,
mysql\u query
函数在哪里?还要确保使用准备好的语句,而不是字符串连接。SQL注入将会发生。“我的思路是正确的还是完全错误的?”——在Stackoverflow上,这些问题不起作用,也不会消失。相反,将您的问题转化为具体的编程问题。这是可以接受的。请参见决不,决不,决不在SQL查询中使用原始$\u GET参数!回答错误这对非常简单的SQL是开放的Injection@matanco根据公布的代码,这是正确的。但是,我要求更改mysqli_*或PDO。
$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; ?>