我有一个问题,即没有将字段插入到我的users表中。我有两张表如下:
用户 - id,gamerid,电子邮件,密码,国家/地区,country_code 国家/地区 - country_id,country,country_code
现在我有一个注册表单,包含gamerid,电子邮件,密码和国家/地区选择(使用php从国家/地区表中提取)
我的问题是,当我提交表单时,我想运行一个查询来从与用户选择的表匹配的表中提取国家/地区代码,并将这些字段插入到users表中。除了country_code之外,我的所有数据都正确插入。
这是我的html选择部分的代码:
<select name = "country_create" style = "height: 25px; width: 180px;">
<option value="0" selected="selected" class = "signup_form_country_select_class">Select your country</option>
<?php
include "config.php";
$connection = mysql_connect($host, $username, $password) or die(mysql_error());
mysql_select_db($dbname, $connection) or die(mysql_error());
$result = mysql_query('SELECT country FROM countries');
while($row = mysql_fetch_array($result))
{
echo '<option value="'.$row['country'].'">'.$row['country'].'</option>';
}
?>
</select>
这是注册脚本中的php:
$connection = mysql_connect($host, $username, $password) or die(mysql_error());
mysql_select_db($dbname, $connection) or die(mysql_error());
// INPUT CLEANING FUNCTION
function clean($str)
{
$cleaned = mysql_real_escape_string(strip_tags($str));
return $cleaned;
}
$gamerid = clean($_POST['gamerid_create']);
$email = clean($_POST['email_create']);
$password = clean($_POST['password_create']);
$country = ($_POST['country_create']);
$cc_qry = "SELECT country_code FROM countries WHERE country = '$country'";
$country_code = mysql_query($cc_qry);
$insert = "insert into users(gamerid,email,password,country,country_code) values('$gamerid','$email','$password','$country','$country_code')";
mysql_query($insert, $connection);
先谢谢你们!
答案 0 :(得分:5)
首先 - 使用PDO或mysqli函数,但其次 - 您还必须从查询结果中获取数据:
$res = mysql_query($cc_qry);
$res_cc = mysql_fetch_assoc($res);
$country_code = $res_cc['country_code'];