我正在尝试显示我的数据库中的客户记录,该记录由ID确定。 我已经拥有的是一个返回,其中id = 42.我想要做的是使其返回的记录基于用户在上一页输入的id号,即$ customerid。有什么建议吗?
<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
$row = mysql_fetch_row($result);
echo $row[0]; // 42
echo $row[1]; // the email value
?>
答案 0 :(得分:1)
您可以分别使用$ _GET [“param_name”]和$ _POST [“param_name”]通过GET或POST获取传递给PHP的参数。
因此,如果使用
调用您的页面http://path/to/page.php?id=99
你可以在$ _GET [“id”]
中获得99类似于POST。
答案 1 :(得分:0)
没有看过您的表单,我假设您将POST
数据。
以下是我对如何处理数据的建议:
$id=isset($_POST['id'])&&is_numeric($_POST['id'])?$_POST['id']:false;
if ($id) {
$result = mysql_query("SELECT id,email FROM people WHERE id = $id;");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
$row = mysql_fetch_row($result);
echo $row[0]; // 42
echo $row[1]; // the email value
} else {
echo "ERROR: No ID specified.";
}
另外,考虑使用PDO,因为mysql_ *语句是折旧的。至少,研究如何防止SQL注入。
答案 2 :(得分:0)
试试这个:
的search.php
<form action="show_record.php" method="post">
<input name="customer_id" />
</form>
show_record.php
<?php
// use $_REQUEST to get a parameter from POST OU GET request method
$id = isset($_REQUEST["customer_id"]) ? $_REQUEST["customer_id"] : 0;
$id = mysql_real_escape_string(); // prevent sql inject
$result = mysql_query("SELECT id,email FROM people WHERE id = '$id'");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
$row = mysql_fetch_row($result);
echo $row[0]; // 42
echo $row[1]; // the email value
?>
所以,你可以从POST或GET请求页面show_record.php,无论如何答案都是一样的。
通过GET:
本地主机/ show_record.php?CUSTOMER_ID = 42