0

有以下困难。

我目前正在创建一个表单。这个表单是用 HTML 制作的,由 jQuery 控制。

表格代码如下;

<div id="form">
        <form>
            <label>ID :</label>
            <input type="text" id="clientid" /><br /><br />
            <label>Name :</label>
            <input type="text" id="name" /><br /><br />
            <label>IP Address :</label>
            <input type="text" id="ipaddress"/><br /><br />
            <label>Status :</label>
            <input type ="text" id ="status" />
            <input type="button" id="button" value="Insert" /><br /><br /><br />
            <label id="response"></label>
        </form>

现在,此表单获取用户数据,并由以下 jQuery 脚本处理;

// Start jQuery script
// jQuery for dynamic adding without complete page reloads
//Wait for document readiness

$('document').ready(function() {
    // Define submit button and action
    $('#button').click(function() {

        // Assign variable
        if ($('#clientid').val() == "") {
            alert("Enter Client ID");
            return false;
        } else {
            var clientid = $('#name').val();
        }

        // Assign variable
        if ($('#name').val() == ""){
            alert("Enter Client full name");
            return false;
        } else {
            var name =$('#name').val();                        
        }

        // Assign variable
        if ($('#ipaddress').val() == "") {
            alert("Enter Client owned IP address");
            return false;
        } else {
            var ipaddress = $('#ipaddress').val();
        }

        // Assign variable
        if ($('#status').val() == "") {
            alert("Enter client status");
            return false;
        } else {
            var status = $('#status').val();
        }

        // When variables are known, continue processing and POST'ing
        // Posting to seperate PHP file to complete
        jQuery.post("processing/addC.php", {
            clientid: clientid,
            name: name,
            ipaddress: ipaddress,
            status: status
        },

        function(data, textStatus) {
            if (data == 1) {
                $('#response').html("Insert successful!");
                $('#response').css('color', 'green');
            } else {
                $('#response').html("Insertion failure. Please try again or restart.");
                $('#response').css('color', 'red');
            }
        });
    });
});

这段代码显然通过 POST 将变量传递给 addC.php。

addC.php 包含以下代码:

<?php

// Get current connection
include 'dbconnect.php';

$clientid = $_POST['clientid'];
$name = $_POST['name'];
$ipaddress = $_POST['ipaddress'];
$status = $_POST['status'];

$query = pg_query_params(
  $dbconnection,
  'INSERT INTO clients(clientid, name, ipaddress,status) VALUES ($1, $2, $3, $4);', 
   array($clientid, $name, $ipaddress, $status)
);                         

if(pg_affected_rows($query)>0){
    echo "1";
}else{
    echo "2";
}

?>

此代码的预期结果是 if 语句返回 1,因此 jQuery 可以创建一个漂亮的绿色消息,说明数据库插入正确。

现在,当我验证 pg_query(); 语法要正确,这段代码本身一定有问题。这里似乎有什么问题?

编辑:

跟随错误; 警告:pg_query_params():查询失败:错误:整数的无效输入语法:“michael”在/Applications/XAMPP/xamppfiles/htdocs/LoginHQ/processing/addC.php18行

4

1 回答 1

0
invalid input syntax for integer: "michael"

这意味着该列具有整数类型,但您尝试插入字符串

于 2015-04-02T08:24:54.020 回答