-1

我有一个 SQL 数据库,其中填充了以下内容

$con = mysql_connect("localhost","****","****");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("stingin_epanic", $con);

$sql="INSERT INTO sms_sent (smsmsisdn, member_name, member_id, dealer, sms)
VALUES

('$_POST[smsmsisdn]','$_POST[member_name]','$_POST[member_id]','$_POST[dealer]','$_POST[sms]')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "SMS Submitted";

mysql_close($con);

?>

我的列在表中如下

smsmsisdn / sms / id / member_msisdn / member_id / member_name / 经销商

由于同一用户会收到大量信息,但 SMS 详细信息会发生变化,因此我需要在 id 上显示 msg 以及个人详细信息,如下面的代码所示。

<?php
$host = "localhost"; // Host name
$username = "****"; // Mysql username
$password = "****"; // Mysql password
$db_name = "****"; // Database name
$tbl_name = "sms_sent"; // Table name

// Connect to server and select database.
mysql_connect("$host", "$username", "$password") or die("cannot connect");
mysql_select_db("$db_name") or die("cannot select DB");

// get value of id that sent from address bar
$id = $_GET['id'];

// Retrieve data from database
$sql = "SELECT * FROM $tbl_name WHERE member_id='$member_id'";
$result = mysql_query($sql);
$rows = mysql_fetch_array($result);
$_SESSION['msisdn'] = "27" . substr($rows['member_msisdn'], 1);
?>

我将 SQL 回显如下:

value="<? echo $rows['member_msisdn']; ?>

我遇到的问题是我将详细信息发送到新的 php 屏幕的表单上的特定数字有很多输入

<form name="form1" method="post" action="sms_send.php">

但是,它确实为 member_msisdn 和其他字段回显正确的信息,因为它们是常见的,但是 SMS 字段对于每个字段都不同我如何通知系统我想使用它刚刚创建的特定 ID 来仅显示该行日期。

4

1 回答 1

0

第一:不要在新代码中使用 mysql_* 函数。它们不再被维护并被正式弃用。

你需要替换$member_id$id

$sql = "SELECT * FROM $tbl_name WHERE member_id='$id'";

这是新代码

<?php
$host = "localhost"; // Host name
$username = "****"; // Mysql username
$password = "****"; // Mysql password
$db_name = "****"; // Database name
$tbl_name = "sms_sent"; // Table name

// Connect to server and select database.
mysql_connect("$host", "$username", "$password") or die("cannot connect");
mysql_select_db("$db_name") or die("cannot select DB");

// get value of id that sent from address bar
$id = $_GET['id'];

// Retrieve data from database
$sql = "SELECT * FROM $tbl_name WHERE member_id='$id'";
$result = mysql_query($sql);
$rows = mysql_fetch_array($result);
$_SESSION['msisdn'] = "27" . substr($rows['member_msisdn'], 1);
?>

注意:您的代码中有sql注入,如果您不确定,请不要将值直接传递给mysql

更改$id = $_GET['id'];

$id = (int)$_GET['id'];

现在$id是安全的。

于 2013-04-29T19:13:46.980 回答