php - 如何在 PHP 中获取 url ID? (对于 mysql_query 更新)

标签 php mysql

我想为一个名为 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."

最佳答案

  1. 您对 SQL 注入(inject)攻击持开放态度。
  2. 您正在使用 @ 运算符抑制错误。 从不抑制错误
  3. 您没有检查 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/

相关文章:

php - 根据外键显示数据

MySQL关于auto_increment的疑难问题

mysql - Laravel 5 - 检索 blob 文件返回 TRUE 或 1

php - 如何遍历 Magento 购物车中的所有项目?

php - 自动完成输入文本类型错误

php - 为什么此代码不返回所有行?

java - 使用 Java 和 MySQL 获取 PacketTooBig 异常

MySQL慢查询日志bug?记录快速查询

php - 检查用户权限

php - 登录 [ Auth->identify() ] 在 CakePHP 3 上始终为 false