无法使用php将数据插入mysql数据库

无法使用php将数据插入mysql数据库,php,mysql,insert,Php,Mysql,Insert,我无法通过PHP将数据插入到表中。“cc_connect.php”是连接数据库的文件。表单在那里,但是当我提交它时,没有数据添加到我的表中。我遵循了一些教程并匹配了它们的方法,但没有成功。我的数据库中是否未设置某些内容 函数$dbcon与我的连接相关联 <form method="post" action="cc_registration.php"> <input type="hidden" name="submitted" value="true" /> Fi

我无法通过PHP将数据插入到表中。“cc_connect.php”是连接数据库的文件。表单在那里,但是当我提交它时,没有数据添加到我的表中。我遵循了一些教程并匹配了它们的方法,但没有成功。我的数据库中是否未设置某些内容

函数$dbcon与我的连接相关联

<form method="post" action="cc_registration.php">
<input type="hidden" name="submitted" value="true" />

    First Name: <input type="text" name="first_name" />
    Last Name: <input type="text" name="last_name" />

<br />
<input type="submit" value="submit" />

名字:
姓氏:


$\u POST['submit']
从未设置,因为您正在传递
submitted

更改:

<input type="hidden" name="submitted" value="true" />

$\u POST['submit']
从未设置,因为您正在传递
submitted

更改:

<input type="hidden" name="submitted" value="true" />

mysql_*函数已弃用,不应再使用。调查或调查

重要提示

这是完全开放的。您应该使用准备好的声明来防止此类攻击

GGio确定了他的答案,这是
提交的
,但正在检查
提交
。他还提供了一个PDO示例,因此我将在mysqli中演示同样的内容:

$firstName = isset($_POST['first_name']) ? $_POST['first_name'] : '';
$lastName = isset($_POST['last_name']) ? $_POST['last_name'] : '';

if ($firstName && $lastName) {
    $stmt = $mysqli->prepare("INSERT INTO cobra_registration (first_name,last_name) 
  VALUES (?, ?)"); 
    $stmt->bind_param("ss", $firstName, $lastName);
    $stmt->execute();  

}

mysql_*函数已弃用,不应再使用。调查或调查

重要提示

这是完全开放的。您应该使用准备好的声明来防止此类攻击

GGio确定了他的答案,这是
提交的
,但正在检查
提交
。他还提供了一个PDO示例,因此我将在mysqli中演示同样的内容:

$firstName = isset($_POST['first_name']) ? $_POST['first_name'] : '';
$lastName = isset($_POST['last_name']) ? $_POST['last_name'] : '';

if ($firstName && $lastName) {
    $stmt = $mysqli->prepare("INSERT INTO cobra_registration (first_name,last_name) 
  VALUES (?, ?)"); 
    $stmt->bind_param("ss", $firstName, $lastName);
    $stmt->execute();  

}


那么,您要插入什么值?$sql=“INSERT INTO cobra_registration(first_name,last_name)值---您还没有发送任何值…这并不能回答问题,但这很容易受到sql注入攻击。好的,值?您传递到语句的值在哪里?需要是这样的值(我正在尝试传递的值,我正在尝试传递的值),也请阅读有关sql注入的内容,并尝试在代码中阻止它。由于某些原因,如果我将“if(isset($\u POST['submit']);”更改为“if($\u POST)”,则会从“first_name”、“last_name”形式插入值;,我可以添加信息。不确定原因。那么您要插入哪些值?$sql=“插入到cobra\u注册中(名字、姓氏)值---您没有发送任何值…没有回答问题,但这很容易受到SQL注入攻击。好的,值?传递给语句的值在哪里?需要是这样的值(我尝试传递的值,我尝试传递的值),也请阅读有关sql注入的内容,并尝试在代码中防止sql注入。由于某些原因,如果我将“if(isset($\u POST['submit']);”更改为“if($\u POST)”,则会从“first_name”,“last_name”…形式插入值;“,我可以添加信息。不知道为什么。我错过了提交的
,很好!但是,他应该会在插入语句中出错。+1太好了!!!谢谢。将isset更改为isset($\u Post['submitted'],它正在工作!!!@jd5如果它解决了您的问题,请将其标记为答案。然后此问题将被取消“未回答的问题”列表。我错过了提交的
,很好的回答!但是,他在插入语句时应该会出错。+1太好了!!!谢谢。将isset更改为isset($\u Post['submitted'],它正在工作!!!@jd5如果它解决了您的问题,请将其标记为答案。然后此问题将从“未回答的问题”中删除列表。@VMai他的版本缺少post变量名周围的单引号。他有
$\u post[first\u name]
,而它应该是
$\u post['first\u name'],GGio有,但提交的
没有正确检查。在双引号中,您不必引用字符串作为数组的键:
“$\u post[first\u name]”
是非常有效的PHP,即使我不使用它。就是这样!刚刚通过测试,谢谢你教我一些新东西!我很快就会删除答案。编辑你的答案。我认为没有必要删除它。最重要的是:“这对SQL注入攻击非常开放…”。如果出现这样的代码,应该尽可能多地重复。通过回答和纠正来学习是很好的。尤其是通过自己测试,不相信任何其他人说的话。我看到了,删除我的第一条不相关的评论,并给你+1。这是你们应得的。@VMai他的版本缺少一个qu注意post变量名。他有
$\u post[first\u name]
,而它应该是
$\u post['first\u name',虽然GGio有,但提交的
没有正确检查。在双引号内,您不必引用字符串作为数组键:
“$\u post[first\u name]”
是非常有效的PHP,即使我不使用它。就是这样!刚刚通过测试,谢谢你教我一些新东西!我很快就会删除答案。编辑你的答案。我认为没有必要删除它。最重要的是:“这对SQL注入攻击非常开放…”。如果出现这样的代码,应该尽可能多地重复。通过回答和纠正来学习是很好的。尤其是通过自己测试,不相信任何其他人说的话。我看到了,删除了我的第一条不再相关的评论,并给了你+1。你们都活该。
$firstName = isset($_POST['first_name']) ? $_POST['first_name'] : '';
$lastName = isset($_POST['last_name']) ? $_POST['last_name'] : '';

if ($firstName && $lastName) {
    $stmt = $mysqli->prepare("INSERT INTO cobra_registration (first_name,last_name) 
  VALUES (?, ?)"); 
    $stmt->bind_param("ss", $firstName, $lastName);
    $stmt->execute();  

}