这也是代码和定义的变量。
我一直试图让它在过去的几个小时内运行,我只是无法通过第32行的区域。
你觉得我错过了什么?对不起,我刚开始学习这个,所以我可能错过了一些关键的结构或其他东西。
谢谢。
代码:
include_once('assets/inc/db_login.inc');
session_start();
function sql_entry($user,$pass,$phone,$points){
//do not touch anything beyond this part
$conn = mysqli_connect(DB_HOST,DB_USERNAME,DB_PASSWORD,DB_NAME);
//error catcher for connection failure
if($conn->connect_error){
die("Connection failed: " . $conn->connect_error);
}
date_default_timezone_set('America/Chicago');
//grabs the time
$time = date('H:i:s');
//$time = $time->format();
$date = date('Y-m-d');
//$date = $date->format();
//clean themmmmmm!
$clean_user = mysqli_real_escape_string($conn, $user);
$clean_pass = mysqli_real_escape_string($conn, $pass);
$clean_phone = mysqli_real_escape_string($conn, $phone);
$clean_points = mysqli_real_escape_string($conn, $points);
//prepare queries
$verification = "SELECT * FROM ".DB_TBL."WHERE phone =".$clean_phone;
$verification_result = mysqli_query($conn,$verification); //run query to validate user
$count = mysqli_num_rows($verification_result); //
//error catcher for non-existing username or wrong user/pass
if($count < 1){
$account_registration = "INSERT INTO ".DB_TBL." (username,password,register_date,phone,points,notes) VALUES ('$clean_user','$clean_pass','$date','$clean_phone','$clean_points','')";
$registration_result = mysqli_query($conn,$account_registration);
mysqli_close($conn);
return 1;
}
else
mysqli_close($conn);
return 0;
}
//here's the other variables for login (all are correct, i have triple checked them already countless times)
<?php
define ("DB_HOST", "127.0.0.1");
define ("DB_USERNAME", "root");
define ("DB_PASSWORD", "ragnarok");
define ("DB_NAME", "houseofvbi");
define ("DB_TBL", "users");
&GT;
其他:
if($_SERVER["REQUEST_METHOD"] == "POST"){
if(empty($_POST["name"])) {
$unameErr = "Username is required";
}
else {
$uname = clean_input($_POST["name"]);
}
if(empty($_POST["pass"])) {
$pwordErr = "Password is required";
}
else {
$pword = clean_input($_POST["pass"]);
}
if(empty($_POST["phone"])) {
$pwordErr = "Please input phone number";
}
else {
$phone = clean_input($_POST["phone"]);
}
if(empty($_POST["apass"])) {
$pwordErr = "Please input phone number";
}
else {
$points = clean_input($_POST["apass"]);
}
}
$check = sql_entry($uname,$pword,$phone,$points);
if($check == 0){
echo "<script type='text/javascript'>alert('The username is already in use.');";
echo "window.location = '#';";
echo "</script>";
}
else
echo "<script type='text/javascript'>alert('Registration is complete. You may log in in the game.');";
echo "window.location = '#';";
echo "</script>";
/* Functions */
function clean_input($login){
$login = trim($login);
$login = stripslashes($login);
$login = htmlspecialchars($login);
return $login;
}
答案 0 :(得分:3)
在您的查询中:
$verification = "SELECT * FROM ".DB_TBL."WHERE phone =".$clean_phone;
您需要在TABLE NAME和WHERE之间添加一个空格:
$verification = "SELECT * FROM ".DB_TBL." WHERE phone =".$clean_phone;
其次,不知道手机没有字段是字符串或整数,如果它的字符串比你需要在手机周围添加单引号而不是:
$verification = "SELECT * FROM ".DB_TBL." WHERE phone = '$clean_phone'";