PHP- MySQL 数据库插入操作不起作用 [重复]

Posted

技术标签:

【中文标题】PHP- MySQL 数据库插入操作不起作用 [重复]【英文标题】:PHP- MySQL Database insert action not working [duplicate] 【发布时间】:2016-08-12 21:24:47 【问题描述】:

我将$_POST 插入数据库的 php 代码不起作用。

错误 = 解析错误:语法错误,意外')。 $sql 也是 正确..

与数据库的连接很好。 我做错了什么

<?php
if(isset($_POST['knop']))
    if()
        //IN DB STEKEN
        $sql = "INSERT INTO workstations_nl (workstation_name, workstation_user, teamviewer_id, unattended_access, suezbox_id, function) VALUES (?,?,?,?,?,?,?)";
        $waardes = array($_POST['name'],$_POST['user'],$_POST['teamviewer'],$_POST['unattended_access'],$_POST['suezbox'],$_POST['function']);
        Db::execute($sql,$waardes);
        header('Location: workstations_nl.php?msg=insertok');
        exit();      
    
else
    header('Location: insert_workstations_nl.php?msg=insertnietok');    

?>

HTML

<form id="formulier" name="formulier" enctype="multipart/form-data" action="" method="post">
    <table  border="0">
        <tr>
            <td>User: *</td>
            <td>
                <input type="text" id="user" name="user">
            </td>
        </tr>
         <tr>
            <td>Workstation: *</td>
            <td>
                <textarea id="name" name="name" placeholder="" style="width: 50%;"></textarea>
            </td>
        </tr>
        <tr>
            <td>Teamviewer: *</td>
            <td><textarea id="teamviewer" name="teamviewer" placeholder="" style="width: 50%;"></textarea></td>
        </tr>
        <tr>
            <td>Unattended Acces: *</td>
            <td><textarea id="unattended_acces" name="unattended_acces"  style="width: 50%;"></textarea></td>
        </tr>
        <tr>
            <td>Suezbox: *</td>
            <td><textarea id="suezbox" name="suezbox"  style="width: 50%;"></textarea></td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>
                <input type="submit" id="knop" name="knop" value="Add New Suezbox">
            </td>
        </tr>
    </table>
</form>

【问题讨论】:

"if()" 看起来不对 .. 哪一行是解析错误? "?,?,?,?,?,?,?"您有 6 个字段,但有 7 个“?”这可能行不通 【参考方案1】:

用正确的行替换该行:

if()

if中没有添加条件。

它将始终返回 NULL,并且您的查询将永远不会被执行。

您的 SQL 有六个字段,并且您正在绑定 7 个值。

那是不匹配。

将 SQL 更正为:

$sql = "INSERT INTO workstations_nl (workstation_name, 
workstation_user, teamviewer_id, unattended_access, suezbox_id, 
function) VALUES (?,?,?,?,?,?)"; 
// Observe the question marks. One is removed.

【讨论】:

已添加,但代码仍然无法正常工作.. 打印sql并粘贴到问题中。 你的意思是哪个sql? Insert sql。粘贴它。 代码有效。谢谢!

以上是关于PHP- MySQL 数据库插入操作不起作用 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

插入查询以插入 MySQL 数据库不起作用。 (PHP)

在 PHP/MySQL 插入中转义单引号不起作用

将用户输入从文本框插入到数据库(使用 mysql 的 PHP 到 PHPMYADMIN)代码由于某种原因不起作用

使用php将网络摄像头生成的图像上传到mysql数据库不起作用

表单操作在 php 中不起作用?

MySQL的更新命令在PHP中不起作用