通过modal和php在数据库中插入数据

时间:2016-05-02 08:02:37

标签: php html mysql mysqli

我试图在用户点击提交按钮后从模态插入数据。但它不工作,我有2个文件索引显示模态和PHP文件运行连接mysql并插入数据。我认为它不承认提交行动。我也有问题如何将主键ID插入数据库或自动添加。

Html提交代码:

<button type="submit" action="add.php"class="btn">Finish!</button>

Php代码:

    <?php

include 'db.php';

$cName = $_POST['form-name'];
$ser = $_POST['form-s-name'];
$link = $_POST['form-t'];
$info = $_POST['form-des'];


  $sql = "INSERT INTO crewlist(id, name,sname,linkname,description)
VALUES ('','".$cName."','".$ser."','".$link."','".$info."')";


mysqli_query($conn,$sql);

if(mysqli_affected_rows($conn) > 0){
    echo "<p>Added</p>";


?>

编辑:我现在正在使用

    <?php

include 'db_conn.php';

$stmt = mysqli_prepare($conn,
  "INSERT INTO crewlist(name,sname,linkname,description) VALUES (?,?,?,?)"
);

mysqli_stmt_bind_param($stmt, 'ssss',
  $_POST['form-name'],
  $_POST['form-s-name'],
  $_POST['form-t'],
  $_POST['form-des']
);

$result = mysqli_stmt_execute($stmt);


?>

3 个答案:

答案 0 :(得分:1)

你没有在sql查询中使用变量,你应该像这样使用它

$sql = "INSERT INTO crewlist(id, name,sname,linkname,description)
        VALUES ('','{$cName}','{$ser}','{$link}','{$info}')";

答案 1 :(得分:1)

教科书的方法是使用预备语句:

$stmt = mysqli_prepare($conn,
  "INSERT INTO crewlist(name,sname,linkname,description) VALUES (?,?,?,?)"
);

mysqli_stmt_bind_param($stmt, 'ssss',
  $_POST['form-name'],
  $_POST['form-s-name'],
  $_POST['form-t'],
  $_POST['form-des']
);

$result = mysqli_stmt_execute($stmt);

如果您正确使用预准备语句,则可以确保使用正确的转义插入您的值。在这里,我使用s作为字符串,但文档中列出了其他类型。

如果您犯了错误,您将要启用exceptions for errors

如果您正在进行大量的数据库工作,我强烈建议您使用DoctrinePropel之类的ORM,因为它们会使您的记录更加愉快

答案 2 :(得分:-1)

插入与您的列不匹配的查询使用它将起作用:

   $sql = "INSERT INTO crewlist(id, name,sname,linkname,description)
VALUES ('',cName,ser,link,info)";

如果您想要使用数据,这将在表格中插入cName,ser,link,info:

'".$cname."'