下面这段代码可以进行数据库插入,但是当什么也不填写时,同样可以插入数值。
如何在代码里增加判断,如果2个填空里有数据为空,终止数据库插入,显示信息:insert error;如果填写时有数据库不允许的字符,同样中断数据库插入,显示信息:insert error。谢谢。index.php
<script type="text/javascript" src="jquery-1.4.4.min.js"></script>
<script>
function send(){
    var toUrl = "Data.php";
    var method = 'GET';
        $.ajax({
        type:"POST",
        url:"Data.php",
        data:{
            name:$("#name").val(),
            sex:$("#sex").val()
        },
        beforeSend:function(){
            $("#display").html("Loading...");
        },
        success:function(data){
            $("#display").html(decodeURI(data));
            document.getElementById("display").innerHTML = "insert success";
        },
        error:function(data){
            document.getElementById("display").innerHTML = "insert error";
        }
    });
}
</script>
<form name="input">
    name: <input type="name" name="name" id="name" />
    sex: <input type="sex" name="sex" id="sex" />
    <input type="button" id="Submit" value="Submit" onclick="send()" />
</form>
<div id="display"></div>Data.php
<?php
    $host="localhost"; // Host name
    $db_user ="root"; // Mysql username
    $db_password="root"; // Mysql password
    $db_name= "table"; // Database name    // Connect to server and select databse.
    mysql_connect("$host", "$db_user", "$db_password")or die("cannot connect");
    mysql_select_db("$db_name")or die("Disconnect Database");
    mysql_query("SET NAMES 'utf8'");
    mysql_query("INSERT INTO table (name,sex)VALUES ('".$_GET['name']."','".$_GET['sex']."'')");
?>

解决方案 »

  1.   

    if($_GET['name'] != ""){
    //做数据库操作
    }
      

  2.   


    if($_GET['name']!="" || $_GET['sex']!="")
    {
        mysql_connect("$host", "$db_user", "$db_password")or die("cannot connect");
        mysql_select_db("$db_name")or die("Disconnect Database");
        mysql_query("SET NAMES 'utf8'");
        mysql_query("INSERT INTO table (name,sex)VALUES ('".$_GET['name']."','".$_GET['sex']."'')");
    }
        $("#uname").blur(function(){//用户名文本框失去焦点触发验证事件
           if(!$(this).val() || !(/^[a-zA-Z0-9]{6,20}$/).test($(this).val()) ){
               $("#nameTip").html("<span style='color:red;'>不能为空且只能输入6-20个字母数字<span>");
           }else{
               $("#nameTip").html("<span style='color:Blue;'>输入正确</span>");
           }
        });
      

  3.   

    看标题“jQuery数据库插入”吓一跳,以为jquery可以直接插入数据库楼主的代码中,jquery的ajax提交时post类型,为什么PHP接受的部分是 $_GET?
    应该是 $_POST['name'] ,$_POST['sex']才正确。