Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP7 MariaDB插入数据表单_Php_Html_Mariadb - Fatal编程技术网

PHP7 MariaDB插入数据表单

PHP7 MariaDB插入数据表单,php,html,mariadb,Php,Html,Mariadb,我是一个新手,所以请耐心等待,我想创建一个HTML表单,向MariaDB添加数据。只是基本的!但是我不能 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <meta charset="utf-8" /> <head> <title>PAGINA CARIC

我是一个新手,所以请耐心等待,我想创建一个HTML表单,向MariaDB添加数据。只是基本的!但是我不能

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 
Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<meta charset="utf-8" />
<head>
<title>PAGINA CARICAMENTO DATI</title>
</head>

<body>
<table border="0">
  <tr>
    <td align="center">Inserisci i dati richiesti</td>
  </tr>
  <tr>
    <td>
      <table>
        <form method="post" action="input.php">
        <tr>
          <td>Nome</td>
          <td><input type="text" name="name" size="20">
          </td>
        </tr>
        <tr>
          <td>Cognome</td>
          <td><input type="text" name="surname" size="20">
          </td>
        </tr>
         <tr>
          <td>Città</td>
          <td><input type="text" name="city" size="20">
          </td>
        </tr>
        <tr>
          <td></td>
          <td align="right"><input type="submit" 
          name="submit" value="Sent"></td>
        </tr>
        </form>
        </table>
      </td>
    </tr>
</table>
</body>
</html> 

帕吉娜·卡里门托·达蒂
达蒂·里希斯蒂酒店
诺姆
同源的
西塔
PHP部分是:

<?php
$host='localhost';
$user='root';
$password='password';
$database='esempio';

$connection = mysqli_connect($host,$user,$password,$database);
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}


$name = $_POST['name'];
$surname = $_POST['surname'];
$city = $_POST['city'];

printf($name);
printf($surname);
printf($city);

$sql="INSERT INTO people (ID,Name,Surname,City)VALUES(default,$name,$surname,$city)";
printf($sql);
if(!mysqli_query($connection,$sql)){ 
printf("Errore: %s\n",mysqli_error($connection));
}
mysqli_close($connection);
?>

MAriaDB有4列:

  • ID索引int(11)无无自动增量更改 滴落
  • 名称tinytext utf8\u常规\u ci无更改下拉列表
  • 姓tinytext utf8_general_ci No None 改变改变下降
  • 城市tinytext utf8\u概述\u ci 无无变化下降

  • 字符串值要求引用它们

    VALUES('','$name','$surname','$city')
    
    注意:由于您的ID列是AI,请删除
    默认值

    但是,这将需要您转义数据,原因有二

    • 如果这些值中的任何一个包含MySQL会抱怨的字符;i、 e:撇号
    • 打开SQL注入
    使用预先准备好的语句

    还应检查查询中是否存在错误:

    和错误报告:

    您还应该检查空输入

    另一件事是确保列类型的选择正确
    tinytext
    可能不是您想要在这里使用的,但仍然有效<使用字符串文字时,code>varchar通常是首选

    咨询:


    HTML粘贴者:

    • 不能是
      的子级

    您收到了什么错误?在哪一行?字段列表中的未知列“pippo”是否可以发布一行,表明错误发生在字符串中,需要引用(
    默认值,$name,$name,$city
    )。您还可以接受SQL注入。您可以通过参数化查询来解决这两个问题。@Pietrottati回答在1/2小时前发布;没有回应。如果有些东西仍然不起作用,你需要发表评论,我已经对下面的答案做了一些编辑。嗨@Fred-ii-你的代码工作得很好,但现在我当然要研究你的链接,以便改进我的代码。你能为我推荐一些书或其他资料吗?请考虑到我真的需要一个低层次的方法。@PietrottatiSalve Pietro,我很高兴听到它对你有用。您可以选择接受答案,以便将其标记为已解决。否则,其他人可能会想发布更多。下面是如何回到答案并做同样的事情。这是一个看起来不错的网站,@pietrottati这个网站有很多好东西在那里,并遵循其他链接在那里。它工作了吗?对不起,我知道我得学这么多。但无论如何,我并不想使用不正确的网络礼仪。@Pietrottati是的,它使用了Pietro,grazie,tuttoèmolto bene;-)benvenuto a堆栈:-)