gpt4 book ai didi

php - 外键不会在级联上更新

转载 作者:行者123 更新时间:2023-11-29 17:54:32 24 4
gpt4 key购买 nike

我使用的是 phpmyadmin 4.7.3 版本。我在同一个数据库中使用 innoDB 存储引擎创建了 2 个表,我想通过使用级联自动更新外键,但它根本不起作用。在我的 dineOwnerUser 表中,我有 id 字段,它是 webpromo 表中的外键,名称为 Ownerid。以下是我为使其成为外键所做的所有步骤。

  1. 前往网络促销表
  2. 点击了关系 View 按钮
  3. 之后我设置了图像中可见的所有选项

in webpromo table i did this to make a forign key

到目前为止,我已经解释了我所做的问题是我的 webpromo 表完全是空的,即使外键也没有自动更新。如果我在这里错了,请指导我,我也发布我的代码,以防万一我在编码中做错了什么,这是我的 php 代码

    <?php
session_start();
if(isset($_POST['recaptcha'])){
$secret = "************";
$response = $_POST['recaptcha'];
$remoteip = $_SERVER['REMOTE_ADDR'];
$url = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=$secret&response=$response&remoteip=$remoteip");
$content = json_decode($url, TRUE);
if($content['success'] ==1){
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
$data = strtolower($data);
return $data;
}
$discount = test_input($_POST["discount"]);
$discountitem = test_input($_POST["discountitem"]);
$website = test_input($_POST["website"]);
$expirydate = test_input($_POST["expirydate"]);
$desc = test_input($_POST["desc"]);
$filename;
if(isset($_FILES['logouploader']['name'])){
$filename = basename($_FILES['logouploader']['name']);
$filename = test_input($filename);
}
$dir = "img/uploads/";
$ext = strtolower(pathinfo($_FILES['logouploader']['name'], PATHINFO_EXTENSION));
$allowed = array('jpeg','png' ,'jpg');
if(!in_array($ext,$allowed) ) {
echo "wrongext";
$uploadOk = 0;
exit;
}
if ($_FILES["logouploader"]["size"] > 600000) {
echo "large";
$uploadOk = 0;
exit;
}
$uploadOk = 1;
if ($uploadOk == 0) {
echo "Sorry";
exit;
}
if ($uploadOk == 1) {
move_uploaded_file($_FILES["logouploader"]["tmp_name"], $dir.$filename);
$servername = "localhost";
$username = "*****";
$password = "*****";
try {
$conn = new PDO("mysql:host=$servername;dbname=*********", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = "INSERT INTO webpromo (discount, dealitem, website, expirydate, description, logouploader) VALUES (?, ?, ?, ?, ?, ?)";
$statement = $conn->prepare($query);
$statement->execute(
array(
$discount,
$discountitem,
$website,
$expirydate,
$desc,
$filename
) );
$conn = null;
exit;
echo "done";
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
}
}
if($content['success'] !=1){
echo "notok";
$conn = null;
exit;
}
$conn = null;
exit;
}
?>

Note: i am getting image in my folder that's mean upto move_uploaded_file($_FILES["logouploader"]["tmp_name"], $dir.$filename); my code is working fine

但之后,当我尝试使用表单输入值以及上传的图像名称填充我的 webpromo 表时,它根本不填充。谢谢

最佳答案

您的想法是错误的,我的 friend ,如果您使用级联,并不意味着您的数据会自动插入。

实际用途是,如果主键值更新,则它会更新所有相应表中的外键值。您必须编写一个单独的插入查询。

关于php - 外键不会在级联上更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48981798/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com