[英]value is not storing in mysql database
我開始學習php,但被困在某個地方。 下面是我的PHP代碼,以顯示我的工作。 我將add to cart
一部分與storing IP address and product id
但仍然值不保存數據庫。 如何檢查代碼中的錯誤? 我還使用e cho mysqli_error($db)
進行了檢查,但未顯示。
下面是代碼:
<?php
$db = mysqli_connect("localhost","root","","ecommerce");
function getIp() {
$ip = $_SERVER['REMOTE_ADDR'];
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
return $ip;
}
function cart(){
if (isset($_GET['add_cart'])) {
global $db;
$ip = getIp();
$pro_id = $_GET['add_cart'];
$check_pro = "select * from cart where ip_add='$ip' AND p_id='$pro_id'";
$run_check = mysqli_query($db, $check_pro);
if (mysqli_num_rows($run_check)>0) {
echo "";
} else {
$insert_pro = "insert into cart (p_id,ip_add) values ('$pro_id','$ip')";
$run_pro = mysqli_query($db , $insert_pro);
echo "<script>window.open('index.php','_self')</script>";
}
}
}
?>
甚至添加數據庫表的圖像。
您需要檢查幾乎所有mysqli_
api調用的狀態,請參閱我添加的2個檢查
function cart(){
if (isset($_GET['add_cart'])) {
global $db;
$ip = getIp();
$pro_id = $_GET['add_cart'];
$check_pro = "select * from cart where ip_add='$ip' AND p_id='$pro_id'";
$run_check = mysqli_query($db, $check_pro);
// test query worked and report error if it failed
if ($run_check === false) {
echo mysqli_error($db);
exit;
}
if (mysqli_num_rows($run_check)>0) {
echo "";
} else {
$insert_pro = "insert into cart
(p_id,ip_add)
values ('$pro_id','$ip')";
$run_pro = mysqli_query($db , $insert_pro);
// test query worked and report error if it failed
if ($run_pro === false) {
echo mysqli_error($db);
exit;
}
echo "<script>window.open('index.php','_self')</script>";
}
}
}
這可能會向您顯示您的錯誤。
您可能已經使用要使用的密鑰插入了一行
順便說一句:您的腳本有遭受SQL注入攻擊的危險看看Little Bobby Tables發生了什么,即使您轉義了輸入,也不安全! 使用准備好的語句和參數化的語句
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.