当我将变量发送到phpmyadmin时的空白字段

时间:2014-05-27 10:33:53

标签: php mysql

我正在尝试创建一个表单,其中变量字段被发送到phpmyadmin中的数据库。问题是phpmyadmin中的字段是空白的,好像我没有在表单中写任何东西。 PHP中的代码如下:

$name = $_POST["name"];
$institution = $_POST["institution"];
$email = $_POST["email"];
$country = $_POST["country"];
$hcp = $_POST["hcp"];
$texto = $_POST["texto"];
$state = $_POST["state"];
$license = $_POST["license"];

$connection = mysql_connect($database_host, $database_username, $database_password);
if(!$connection) { // if our attempt to connect failed
   die('Could not connect: ' . mysql_error());
}

mysql_select_db($database_name, $connection) or die("You cannot select data base");


$consulta = ("INSERT INTO `1264`(`name`, `institution`, `email` , `country`, `hcp` , `texto` , `state` , `license`) VALUES ('".$name."','".$institution."','".$email."','".$country."','".$hcp."','".$texto."','".$state."','".$license."');");
    echo $consulta; die;

mysql_query($consulta,$connection) or die("You cannot register. Try it later, please.");

在HTML中,表单的格式如下:

<form method="post" action="php/enviar.php">


    <span class="texto azul">Name</span><input class="caja texto" name="name" type="text"/><br /><br />
<span class="texto azul">Institution</span><input class="caja texto" name="institution" type="text"/><br /><br />
 <span class="texto azul">Email address</span><input class="caja texto" name="email" type="text"/><br /><br />

<span class="texto azul">Country</span><select id="country" class="caja texto" name="country">
<option value="">Country...</option>

 <option value="Afganistan">Afghanistan</option>
...
</select>
<div id="fadein">
        <span id="usa" class="texto azul inputText">HCP Designation</span><select name="hcp" class="caja inputText texto" disabled>
            <option value="des">Designation...</option>
            <option value="md">MD</option>
            <option value="np">NP</option>
            <option value="rn">RN</option>
            <option value="other">Other</option>
        </select><br /><br />
        <span id="texto" class="texto azul inputText">If other, please specify</span>
        <textarea class="caja inputText texto" name="texto" disabled></textarea><br /><br />
        <span class="texto azul inputText">State of Licensure</span><input class="caja inputText texto" name="state" type="text" disabled/><br /><br />
        <span class="texto azul inputText">License number</span><input class="caja inputText texto" name="license" type="text" disabled/><br /><br />

</div>
        </form>

有人知道为什么它不接受我在表单中写的字段吗?

2 个答案:

答案 0 :(得分:0)

这一行是问题所在。

echo $consulta; die;

您指示脚本甚至在到达mysql_query($consulta,$connection)行之前退出。删除die,如果您的连接良好且查询中没有语法错误,那么应该很好。

将查询存储为字符串时,您也不需要()。所以

$consulta = "INSERT INTO `1264`(`name`, `institution`, `email` , `country`, `hcp` , `texto` , `state` , `license`) VALUES ('".$name."','".$institution."','".$email."','".$country."','".$hcp."','".$texto."','".$state."','".$license."')";

Sidenote :您应该停止使用mysql_*函数,因为它们在v5.5之后已弃用。转而使用PDO或mysqli。

答案 1 :(得分:-1)

你应该首先检查你得到的后期阵列。

首先执行此操作:

echo '<pre>';print_r($_POST);exit;

检查你得到的值。

注意:同时检查表单&amp;中的值名称字段post数组的键应该相同。

同时用下面给出的替换查询。

$consulta = "INSERT INTO `1264`(`name`, `institution`, `email` , `country`, `hcp` , `texto` , `state` , `license`) VALUES ('".$name."','".$institution."','".$email."','".$country."','".$hcp."','".$texto."','".$state."','".$license."')";