PHP插入不再起作用

时间:2014-06-28 07:31:43

标签: php mysql ajax insert config

我的代码前段时间工作了。实际上,我已经要求进行测试,但它仍适用于其他电脑。

我合成了我,安装了eclipse,wamp和easyphp进行双重检查以及所有的东西,现在我有了这个问题。

它是一个简单的插入,一个包含2个文本框的HTML,该表存在,它可以直接由MySQL工作台工作。

当我通过浏览器运行脚本时,我在代码中写了一些回音,它启动了ajax,调用了insert.php,并且在它内部它在require_once config.php之前回显

之后,根本没有回应。

我已经在ajax调用的错误部分中设置了警报状态和错误,但一无所获。

可能发生了什么?

我使用Windows,我怀疑有更深层次的东西,但它可能是一个明显的错误,我只是不知道在哪里搜索,因为它在其他计算机上工作。

以下是代码:

HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>CRUD</title>
</head>

<body>
<form id="myForm" method="post" action="" >
    Nome:
    <input type="text" name="nome" required />
    <br/>
    Tipo:
    <input type="text" name="tipo" required />
    <br/>


    <input type="submit" name="submit" value="save" id="sub"/> 
</form>

<script src="script/jquery-2.1.0.js" type="text/javascript"></script>
<script src="script/ajaxInclude.js" type="text/javascript"></script>
</body>
</html>

ajax call

$(document).ready(function(){
$('#myForm').submit(function(){
    var data = $(this).serialize();

    $.ajax({
        url: "DAO/insert.php",
        type: "POST",
        data: data,
        dataType: "html",
        success: function( data )
        {
            alert( data );
        },
        error: function(xhr, ajaxOptions, thrownError) {
            alert(xhr.status);
            alert(thrownError);
        }
    });

    return false;
});
});

的config.php

<?php

echo "DENTRO DO CONFIG";

define('HOST', 'localhost');
define('DB_NAME', 'wms');
define('PORT', '3306');
define('USER', 'root');
define('PASS', '');

$dsn = 'mysql:host='.HOST.'; port='.PORT.'; dbname='.DB_NAME;

try {
$bd = new PDO($dsn, USER, PASS);
//  $bd->setAttribute(PDO::ATT_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo 'Houve algum erro no Banco de Dados';
}

?>

insert.php

<?php

echo "FORA DO INSERT";

require_once('config.php');

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

    echo "DENTRO DO INSERT, SUBMIT POSTED";

 $nome = $_POST['nome'];
 $tipo = $_POST['tipo'];

 $sql =  'INSERT INTO produto(id, nome, tipo, criado_em) ';
 $sql .= ' VALUES (NULL, :nome, :tipo, NOW())';

 try {

    echo "DENTRO DO TRY";
    $query = $bd->prepare($sql);
    $query->bindValue(':nome', $nome, PDO::PARAM_STR);
    $query->bindValue(':tipo', $tipo, PDO::PARAM_STR);

    if($query->execute()){
        echo "Dados inseridos com sucesso";
    }else{
        echo "Falha na insercao de dados";
    }

 } catch (Exception $e) {
    echo $e->getMessage();
 }
 die();
}
?>

1 个答案:

答案 0 :(得分:0)

在insert.php上,更改:

  

如果(isset($ _ POST [&#39;提交&#39;])){

  

if(isset($ _ POST [&#39; nome&#39;])&amp;&amp;&amp; isset($ _ POST [&#39; tipo&#39;])){