ai didi

php - 数据未插入数据库到表中

转载 作者:行者123 更新时间:2023-11-29 12:05:41 24 4
gpt4 key购买 nike

我试图在用户单击文件 one.php 中的链接后将数据插入数据库。所以文件two.php包含以下代码:

$retrieve = "SELECT * FROM catalog WHERE id = '$_GET[id]'";
$results = mysqli_query($cnx, $retrieve);
$row = mysqli_fetch_assoc($results);
$count = mysqli_num_rows($results);

因此上面的查询将使用 $_GET[id] 作为引用从数据库中获取信息。执行此操作后,我想使用以下代码将检索到的信息插入到不同的表中:

$id = $row['id'];
$title = $row['title'];
$price = $row['price'];
$session = session_id();

if($count > 0) {
$insert = "INSERT INTO table2 (id, title, price, session_id)
VALUES('$id', '$title', '$price', '$session');";
}

第一个查询 $retrieve 有效,但第二个 $insert 无效。您知道为什么会发生这种情况吗? PS:我知道我需要清理和使用 PDO 和准备好的语句,但我想先测试一下,但它不起作用,我不知道为什么。感谢您的帮助

最佳答案

您没有执行查询:

$insert = "INSERT INTO table2 (id, title, price, session_id)
VALUES('$id', '$title', '$price', '$session');";
}

它需要使用mysqli_query()与数据库连接,就像您对SELECT所做的那样,并确保您使用session_start();启动 session 看到你'正在使用 session 。

$insert = "INSERT INTO table2 (id, title, price, session_id)
VALUES('$id', '$title', '$price', '$session');";
}


$results_insert = mysqli_query($cnx, $insert);

基本上。

加上...

您当前的代码已开放给 SQL injection 。使用mysqli with prepared statements ,或PDO with prepared statements .

如果仍然不起作用,那么 MySQL 可能会提示某些事情,因此您需要转义数据并检查错误。

旁注:

使用mysqli_affected_rows()检查INSERT是否真正成功。

关于php - 数据未插入数据库到表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31522196/

24 4 0
文章推荐: mysql - 具有附加约束的棘手 GROUP BY SQL
文章推荐: ruby-on-rails - Rails - OS Mavericks 和 postgresql
文章推荐: postgresql - 创建自定义窗口函数
文章推荐: java - 从数据库中获取最后一个索引的重复数据,而不是 Java 中的所有数据
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com