dream198731
2013-06-20 12:14 阅读 84
已采纳

为什么MySQLI INSERT不起作用? [关闭]

My MySQLI INSERT query wont work.

Nothing is getting passed to the database in the query.

Everything else is working great, so I don't know why the query wont work.

This is all part of an AJAX call, and I know the data is being received correctly, and also there is a successful return.

PHP

//Get all POST data from user trying to register
$username = $_POST['username'];
$password =  $_POST['password'];
$name = $_POST['name'];
$email = $_POST['email'];
$lat = $_POST['lat'];
$lon = $_POST['lon'];

//Choose wether the user will be "it" or "not it"
$choose_it = array('it', 'not it');
$key = array_rand($choose_it);
$it = $choose_it[$key];

$message = "";

$allEmails = "";
$allUnames = "";

//Get emails from registered users and check if it has already been used
$AllPeople = "SELECT email, uname FROM login WHERE email = '$email'";
$query = mysqli_query($conn,$AllPeople);

while($row = mysqli_fetch_array($query))
{
    $allEmails = $row['email'];
    $allUnames = $row['uname'];
}

if($allEmails != "")
{
    $message = "That email already exists. You can only have one account per email address.";
}

if($allUnames != "")
{
    $message = "That username has already been taken. Please choose a different one.";
}

if($allEmails === "" && $allUnames === "")
{
    $cost = 10;
    $salt = strtr(base64_encode(mcrypt_create_iv(16, MCRYPT_DEV_URANDOM)), '+', '.');
    $salt = sprintf("$2a$%02d$", $cost) . $salt;
    $hash = crypt($password, $salt);

    mysqli_query($conn, "INSERT INTO login (name, uname, pword, email, lat, lon, it) VALUES ($name, $username, $hash, $email, $lat, $lon, $it");

    $message = "goodtogo";
}

echo json_encode(array("message" => $message, "name" => $name, "it" => $it));

mysqli_close($conn);
?>
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    duanping1920 duanping1920 2013-06-20 12:16

    1) You forgot single quotes around string data.

    2) the closing bracket for VALUES

    mysqli_query($conn, "INSERT INTO login (name, uname, pword, email, lat, lon, it) 
    VALUES ('$name', '$username', '$hash', '$email', '$lat', '$lon', '$it')");
    
    点赞 评论 复制链接分享
  • dongxuan58311366668 dongxuan58311366668 2013-06-20 12:15
    mysqli_query($conn, "INSERT INTO login (name, uname, pword, email, lat, lon, it) VALUES ($name, $username, $hash, $email, $lat, $lon, $it)");
    

    ----> ("..... (....)");

    点赞 评论 复制链接分享

相关推荐