只有当表(sessionid)行中的某些值与另一个变量匹配时,我才希望将数据插入到表中。我正在努力整理插入语句。我采用的方法是:检索表中符合条件的所有行(retailer=$retailer),然后遍历这些行,将变量选项输入到sessionid表中。

$retailer = $_GET['retailer'];
$options = $_GET['options'];
$session = session_id();

//mysql connection stuff goes here

$query = "
SELECT *
FROM `sessionid`
WHERE `retailer` = '$retailer'
";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_assoc($result)) {
      mysql_query("INSERT INTO sessionid (options) VALUES('$options')");
    }

我这样做的语法正确吗?谢谢!

最佳答案

你是不是在找UPDATE命令?

UPDATE   sessionid
SET      options = $options
WHERE    retailer = $retailer

顺便说一下,我希望使用PDO比在数据库中推$_GET值更安全。
$db = new PDO('mysql:host=localhost;dbname=MYDATABASE', 'username', 'password');

$db->prepare('UPDATE sessionid SET options = ? WHERE retailer = ?');

$db->execute(array($options, $retailer));

10-07 15:11