首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >外键(新手)

外键(新手)
EN

Stack Overflow用户
提问于 2016-10-24 08:02:16
回答 2查看 57关注 0票数 0

我想在我的反馈表中插入我的customer_id的外键。我怎么发动汽车呢?

customer表:

代码语言:javascript
复制
customer_id 
coach_id
customer_name

feedback表:

代码语言:javascript
复制
feedback_id
feedback1
feedback2
customer_id 

我想做的地方,在用户登录后,用户插入反馈信息,它将自动注册客户id。

这是我登录后的代码,希望注册反馈:

代码语言:javascript
复制
<?php
session_name ('YourVisitID');
session_start();
$page_title = 'Feedback';
include('./header4.html');
//remember to delete.
echo "{$_SESSION['customer_name']}";
?>

<section id="main" class="wrapper">
<div class="container">
<form action = "feedback.php" method="post">
<div class="row uniform 50%">
        <div class="6u 12u$(xsmall)">
        <input type="text" name="weight" placeholder="Weight" 
        required autofocus/>
        </div>
        <div class="6u$ 12u$(xsmall)">
        <input type="text" name="height" placeholder="Height" 
        required autofocus/>
        </div>
        <div class="6u 12u$(xsmall)">
        <input type="text" name="water"  placeholder="Water Level%" 
        required autofocus/>
        </div>
        <div class="6u$ 12u$(xsmall)">
        <input type="text" name="body_fat" placeholder="Body Fat%" 
        required autofocus/>
        </div>
        <div class="6u 12u$(xsmall)">
        <input type="text" name="calorie" placeholder="Calorie" 
        required autofocus/>
        </div>
        <div class="6u$ 12u$(xsmall)">
        <input type="text" name="visceral" placeholder="Visceral Fat Level%" 
        required autofocus/>
        </div>
        <p><input type="submit" name="submit" value="Register" /></p>
        <input type="hidden" name="submitted" value="TRUE" />

</div>
</form>
</div>
</section>

<?php

if(isset($_POST['submitted'])) {

require_once ('mysql_connect3.php');

function escape_data ($data){
    global $dbc;
    if (ini_get('magic_quotes_gpc')){
    $data = stripslashes($data);
    }
    return mysql_real_escape_string(trim($data), $dbc);
    }

    $error = array();
        $weight = escape_data($_POST['weight']);
        $height = escape_data($_POST['height']);
        $water = escape_data($_POST['water']);
        $calorie = escape_data($_POST['calorie']);
        $visceral = escape_data($_POST['visceral']);
        $fat = escape_data($_POST['body_fat']);

mysqli_close($con);
header("location: add_user.php?remarks=success");   
    if (empty ($errors)) {

    $query ="SELECT * FROM feedback WHERE weight ='$weight'";
    $result = mysql_query($query);
    if (mysql_num_rows($result) == 0) {

        $query = "INSERT INTO feedback (weight, height, body_fat, water, calorie, visceral, feedback_date) VALUES 
        ('$weight', '$height', '$water', '$calorie', '$visceral','$fat', NOW() )";
        $result = @mysql_query ($query);
        if ($result) {

        echo '<script>
            alert("Your feedback has been save");
            </script>';

        include ('./footer.html');
        exit();
        }else{
            echo '<script>
            alert("<h1 id="mainhead">System Error</h1>
            <p class="error">You could not give feedback due to a system error.
            We apologize for any inconvenience.</p>");
            </script>';
            echo '<p>'. mysql_error() . '<br /><br />Query: ' . $query . '</p>';
            include ('./footer.html');
            exit();
            }
            }
                }else{
                    echo '<script>
                            alert("<h1 id="mainhead">Error!</h1>
                            <p class="error">Please try again.</p>");
                            </script>';
                        }

                        mysql_close();
                        }

?>

<?php
include ('./footer.html');
?>
EN

回答 2

Stack Overflow用户

发布于 2016-10-24 10:20:32

我认为您应该在sql表模式中定义。

feedback表中定义外键customer_id之后

您可以使用PHP从该表中选择数据

票数 0
EN

Stack Overflow用户

发布于 2016-10-24 13:44:11

当客户登录时,只需将其customer_id存储在会话中,就像您当前存储其customer_name一样。当客户提交反馈表单时,您只需提供会话中的customer_id

代码语言:javascript
复制
    $query = "INSERT INTO feedback (weight, height, body_fat, water, calorie, visceral, feedback_date, customer_id) VALUES 
    ('$weight', '$height', '$water', '$calorie', '$visceral','$fat', NOW(), ".$_SESSION ['customer_id']. ")";
    $result = @mysql_query ($query);  

以下是一些注意事项:

  1. 不再使用mysql_*()函数,它们几年前就被弃用了,并且从php7开始就被删除了。使用mysqli或pdo。
  2. 使用带参数绑定的预准备语句,以防止sql注入攻击。
  3. 不要混用各种mysql apis。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40209046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档