将参数中的空间传递给php文件

时间:2014-07-07 18:46:43

标签: php mysql sql

我有一个表名"用户"在MySQL中写入字段:UserID,UserName,Password,eMail,DisplayName,Score,timeStamp。字段UserID是int AUTO_INCREMENT,时间戳是dateTime。我试图使用php文件将值插入表中。这是我的php文件:         

mysql_connect("mysql.1freehosting.com","u948577195_uname","p7CraCuRAw");

mysql_select_db("u948577195_dbnam");

$uName = $_GET['uname'];
$pass = $_GET['password'];
$mail = $_GET['email'];
$disName = $_GET['disnam'];
$date = $_GET['dt'];

$sql=mysql_query("INSERT INTO User
VALUES ('$uName', '$pass', '$mail', '$disName', 0, '$date')");

while($row=mysql_fetch_assoc($sql))

$output[]=$row;

print(json_encode($output));

mysql_close();

?>

我使用此连接字符串激活文件:

http://pickupfriend.fulba.com/android_project/query3.php?uname=Test&password=p1&email=ml&disnam=Test&dt=21:12:30 2014-07-07

我在日期的秒和年之间有空格,可以吗?运行连接字符串后,我收到此错误:

Parse error: syntax error, unexpected T_STRING in /home/u948577195/public_html/android_project/query3.php on line 13

我做错了什么?如何更正我的连接字符串? 提前谢谢!

2 个答案:

答案 0 :(得分:1)

你期望发生什么?

INSERT INTO [USER]
VALUES ('$uName', '$pass', '$mail', '$disName', 0, '$date')

那不是php!你忘了在查询中使用它。

答案 1 :(得分:1)

您的链接显示$_GET部分中的参数错误。

因此你必须删除这一行,因为它不是php

INSERT INTO [USER]
VALUES ('$uName', '$pass', '$mail', '$disName', 0, '$date')

更改您的代码,如下所示。

mysql_connect("mysql.1freehosting.com","u948577195_uname","p7CraCuRAw");

mysql_select_db("u948577195_dbnam");

$uName = $_GET['uname'];
$pass = $_GET['pass'];
$mail = $_GET['mail'];
$disName = $_GET['disName'];
$date = $_GET['date'];

$sql = mysql_query("INSERT INTO User VALUES ('$uName', '$pass', '$mail', '$disName', 0, '$date')");
if (!$sql) {
    $message  = 'Invalid query: ' . mysql_error() . "\n";
    die($message);
}
mysql_close();

如果您的目标是在mysql_close()

之前看到所有内容添加,那么您的查询中不会提取任何内容
$query = mysql_query('SELECT * FROM User');
if (!$query) {
    $message  = 'Invalid query: ' . mysql_error() . "\n";
    die($message);
}
$output = array();
while ($row = mysql_fetch_assoc($query) !== false) {
   $output[] = $row;
}

echo json_encode($output);