我想为一个名为 spiral url 的脚本添加一个编辑按钮,但问题是我无法获取 URL id。这是我试过的:
/** get url id **/
$id = isset($_GET['id']) ? $_GET['id'] : '';
@mysql_query("UPDATE short_urls SET long_url = 'test' WHERE url_id = '".$id."' LIMIT 1");
我做错了什么?
我还通过电子邮件发送了作者和他的回复:
"I recommend you post on Stackoverflow - https://stackoverflow.com/. I would love to help you but I don't see what you are doing wrong. I'm still learning PHP as well."
最佳答案
- 您对 SQL 注入(inject)攻击持开放态度。
- 您正在使用
@
运算符抑制错误。 从不抑制错误 - 您没有检查 mysql_query() 的返回值,它在失败时返回 bool 值 FALSE。
废弃该代码并使用它:
if (!isset($_GET['id'])) {
die("missing query parameter");
}
$id = intval($_GET['id']);
if ($id === '') {
die("Invalid query parameter");
}
$sql = "UPDATE short_urls SET long_url = 'test' WHERE url_id=$id LIMIT 1";
$result = mysql_query($sql);
if ($result === FALSE) {
die("Mysql error: " . mysql_error() . $sql);
}
请注意,我假设 id
参数是数字。如果不是,则删除 intval() 内容。
关于php - 如何在 PHP 中获取 url ID? (对于 mysql_query 更新),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8137814/