2017-02-17 131 views
-2

我想写一个职位的内容到我们的MySQL数据库。数据似乎没有插入,我没有收到任何错误。我使用的数据库登录也有远程访问。查询本身从变量中获取正确的数据。所以我不确定我做错了什么。数据没有插入数据库使用mysqli和php

当我通过工作台直接插入插入成功时,我将我的查询的值写入了error_log。

[17-Feb-2017 07:02:47 America/Los_Angeles] INSERT INTO   
    consolidated.ACI_BNF (ConsumerName, AccountNumber,  
    NotificationType, ConfNumber, PaymentDate, PaymentAmount, 
    PaymentFee, FundingType, PaymentMethod, ProductMethod, 
    ImportDate) 
    VALUES ('JOHN DOE', '0', 'CREATE', '00', '2017-02-17', '444.37', '4.95 ', 'CREDIT CARD', '', 'ONE_TIME_PAY', '2017-02-17T10:02:47') 

PHP代码

$hostname_Database = "somedb"; 
$database_Database = "consolidated"; 
$username_Database = "username"; 
$password_Database = "password"; 

$mysqli = new mysqli($hostname_Database, $username_Database,$password_Database, $database_Database); 

$sql = "INSERT INTO consolidated.ACI_BNF (ConsumerName, AccountNumber, NotificationType, ConfNumber, PaymentDate, PaymentAmount, PaymentFee, 
FundingType, PaymentMethod, ProductMethod, ImportDate) 
VALUES ('$AccountHolderName', '$accountNumber', '$notification', 
'$ConfirmationNumber', '$PaymentDate', '$PaymentAmount', '$PaymentFee', 
'$FundingType', '$PaymentMethod', '$ProductMethod', '$ImportDate')"; 


    if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
    } 

    $result = $mysqli->query($sql); 
    if (!$result) { 
    printf("%s\n", $mysqli->error); 
    exit(); 
    } 

    echo "Query run. Inserted UserID " . $mysqli->insert_id . "<br />"; 


     mysqli_close($mysqli); 
+0

打印查询到屏幕上,将它复制,并尝试手动插入。 – labue

+0

我们没有办法验证你的VALUES(代码部分不在这里),所以你可以做的是1.在执行之前打印查询,检查错误2.在插入后执行'SHOW WARNINGS',从sql server获得更多信息。 https://dev.mysql.com/doc/refman/5.7/en/show-warnings.html – JustOnUnderMillions

+0

尝试'mysqli_real_escape_string'的日期 – Kumar

回答

0

你应该使用:

$mysqli->connect_errno 

相反的:

mysqli_connect_errno() 
0

也许你忘了写提交的名称。例如:

在HTML

 <input type="submit" name="submit" > 

在PHP中:

if(isset($_POST["submit"})){ 
      $user = $_POST["username"]; 
    } 
    ...