【发布时间】:2016-08-03 20:55:19
【问题描述】:
我知道这个问题已经回答了很多次,但似乎无法让它在我现有的代码中工作。原谅我是个笨蛋。我的问题:我只需要在创建新记录时获取索引和自动递增的 client_id 值,这样我就可以通过电子邮件将其连同他们的密码一起发送给新用户,这样他们就可以登录到他们的帐户。这是我的代码,感谢您的帮助。我也明白我应该从 MySQL 转换为 mysqli:
$conn = mysql_connect($servername, $username, $password, $dbname);
if (!$conn) { die('Could not connect: ' . mysql_error()); }
mysql_select_db($dbname,$conn);
$sql="INSERT INTO ricks_inserts (companyname, contact, email)
VALUES ('$_POST[companyname]','$_POST[contact],'$_POST[email]')";
$id = mysql_insert_id(); "My actual variable in my table is called client_id"
if (!mysql_query($sql,$conn))
{
die('Error: ' . mysql_error());
}echo "<br />";
$message= <<<EOD
Client Id:$_POST[client_id]
Email: $_POST[email]
Company: $_POST[companyname]
Contact: $_POST[contact]
EOD;
【问题讨论】:
-
在您执行插入查询之后 才能获得插入ID。有点道理,不是吗?
-
您可以使用此代码进行 SQL 注入。
-
我们真的还能谈论注射吗?
-
看看我的意思,我没有意义大声笑,这就是我寻求帮助的原因。我只是学习所以请原谅。我什至不知道注射是什么,但我想我最好学习
-
警告:如果您只是学习 PHP,请不要使用
mysql_query接口。它是如此可怕和危险,以至于它在 PHP 7 中被删除。像 PDO is not hard to learn 这样的替代品和像 PHP The Right Way 这样的指南解释了最佳实践。你的用户参数不是properly escaped,有SQL injection bugs可以被利用。