简单的PHP MySQL代码,MySQL不识别值

时间:2016-02-02 02:46:47

标签: php mysql

我正在建立一个网站电子商务网站,但我坚持使用这个不那么有效的PHP和MySQL代码,

让我们说,$ _GET [" pid"]来自其他页面发送的URL,给定值为111 和$ _POST ["提交"]是来自同一页面的表单提交按钮。

<?php
$connection = mysqli_connect("localhost", "root", "", "users_database");
$row = mysqli_fetch_array(mysqli_query($connection, "SELECT * FROM users_products"));

if(isset($_POST["submit"])){
    $pid = $_GET["pid"];    
    $sql_update = mysqli_query($connection, "UPDATE users_products SET product_name='$_POST[product_name]' WHERE id=$pid");
    header("location: admin_home.php");
}
?>

如果我改变&#34; WHERE id = $ pid&#34;代码将起作用。确切的数字,如&#34; WHERE id = 100&#34;。我相信价值存在问题&#34; $ pid&#34;并需要改变其他方法?

2 个答案:

答案 0 :(得分:0)

更改字符串:

"UPDATE users_products SET product_name='$_POST[product_name]' WHERE id=$pid"

到这个

"UPDATE users_products SET product_name='" .$_POST[product_name]. "' WHERE id=" .$pid

问题是由于你没有传递$ pid的值,而是字符串$ pid本身。

答案 1 :(得分:0)

使用intval()函数获取变量的整数值,如下所示:

$pid = intval($_GET["pid"]);

以下是参考资料: