php没有将信息写入数据库

时间:2013-11-18 20:18:38

标签: php mysql database

<?php
            $email = $_POST['email'];
            $first = $_POST['first'];
            $last = $_POST['last'];
            $business = $_POST['business'];
            $home = $_POST['home'];
            $cell = $_POST['cell'];
            $street = $_POST['street'];
            $city = $_POST['city'];
            $state = $_POST['state'];
            $zip = $_POST['zip'];
            $system = $_POST['system'];
            $cameras = $_POST['cameras'];
            $hdd = $_POST['hdd'];

            if(isset($_POST['submit']))
                {
                $connect = mysql_connect('localhost','rebeler_customer','callaway87');
                mysql_select_db("rebeler_customers");

                mysql_real_escape_string($first);
                $last = mysql_real_escape_string($last);
                $business = mysql_real_escape_string($business);
                $home = mysql_real_escape_string($home);
                $cell = mysql_real_escape_string($cell);
                $email = mysql_real_escape_string($email);
                $street = mysql_real_escape_string($street);
                $city = mysql_real_escape_string($city);
                $state = mysql_real_escape_string($state);
                $zip = mysql_real_escape_string($zip);
                $system = mysql_real_escape_string($system);
                $cameras = mysql_real_escape_string($cameras);
                $hdd = mysql_real_escape_string($hdd);

                $query = mysql_query("INSERT INTO `customers`(`email`,`firstname`,`lastname`, `businessname`,`homephone`, `cellphone`,`street`, `city`,`state`, `zip`,`system`, `cameras`, `hdd`) VALUES ('$email','$first','$last','$business','$home','$cell','$street','$city','$state','$zip','$system','$cameras','$hdd')");

}
?>

我可以帮助了解为什么我的代码没有将信息发布到我的数据库吗? 它连接w / db很好只是不写信息。 让我知道如果你需要更多的信息,你总是快速和乐于助人。

3 个答案:

答案 0 :(得分:2)

试试这个, 首先回显您的查询并将此查询运行到数据库

$query = "INSERT INTO `customers`(`email`,`firstname`,`lastname`, `businessname`,`homephone`, `cellphone`,`street`, `city`,`state`, `zip`,`system`, `cameras`, `hdd`) VALUES ('$email','$first','$last','$business','$home','$cell','$street','$city','$state','$zip','$system','$cameras','$hdd')";

echo $query;
//$result =mysql_query($query);

答案 1 :(得分:0)

请勿使用mysql_生成新代码。不推荐使用整个函数套件,并且可能导致代码不安全(请注意巨大的红色通知:http://php.net/manual/en/function.mysql-query.php

相反,请使用PDO。下面是使用PDO的代码示例。您必须提供数据库用户名,密码和数据库名称。

// note: untested code follows
if(isset($_POST['submit'])) {
    $pdo = new PDO('mysql:host='.$host.';dbname='.$db_name, $db_username, $db_password);
    $statement = $pdo->prepare('
        INSERT INTO `customers`(
            `email`,
            `firstname`,
            `lastname`,
            `businessname`,
            `homephone`,
            `cellphone`,
            `street`,
            `city`,
            `state`,
            `zip`,
            `system`,
            `cameras`,
            `hdd`
        ) VALUES (
            :email,
            :firstname,
            :lastname,
            :businessname,
            :homephone,
            :cellphone,
            :street,
            :city,
            :state,
            :zip,
            :system,
            :cameras,
            :hdd
        )
    ');
    $result->execute(array(
        'email'=>$_POST['email'],
        'firstname'=>$_POST['first'],
        'lastname'=>$_POST['last'],
        'businessname'=>$_POST['business'],
        'homephone'=>$_POST['home'],
        'cellphone'=>$_POST['cell'],
        'street'=>$_POST['street'],
        'city'=>$_POST['city'],
        'state'=>$_POST['state'],
        'zip'=>$_POST['zip'],
        'system'=>$_POST['system'],
        'cameras'=>$_POST['cameras'],
        'hdd'=>$_POST['hdd']
    ));
    $customer_id = $pdo->lastInsertId();
    if (!result || !$customer_id) {
        var_dump($pdo->errorInfo());
        die('something went wrong'); // do something better to handle errors!
    }
}

答案 2 :(得分:0)

尝试此代码,理论上做同样的事情并且易于调试(PHP&gt; = 5.3):

if (isset($_POST['submit'])) {
    try {
        $connect = mysql_connect('localhost','rebeler_customer','callaway87');
        mysql_select_db("rebeler_customers");

        $fields = "email,first,last,business,home,cell,street,city,state,zip,system,cameras,hdd";

        $sql_header = '';
        $sql_values = '';
        $glue = '';

        array_filter(
            explode(',', $fields),
            function ($field) use (& $sql_header, & $sql_values, & $glue) {
                $sql_header .= $glue . '`' . $field . '`';
                $sql_values .= $glue . "'" . mysql_real_escape_string($_POST[$field]) . "'";
                $glue = ',';
            }
        );
        $sql = "INSERT INTO `customers`($sql_header) VALUES ($sql_values)";
        $query = mysql_query($sql);
    } catch(Exception $e) {
        echo 'Error in line ' . $e->getLine() . ': ' . $e->getMessage();
    }
}