-1

我对 PHP 有点陌生,只将它用于我的 Android 应用程序的后端。

我有三个字符串要从我的 Android 应用程序发送到 PHP。我想查询一个名为“users”的表并找到从我的 Android 应用程序发送的用户名的用户 ID,然后将数据插入一个名为“msg”的单独表中。

我已经尝试了我的生活,但我无法让它发挥作用,而且我什至还没有完成。

谢谢和帮助我会非常棒,因为我是 PHP 新手,无法完成其余的代码。

PHP:

    <?php

$username = $_POST['username'];
$msg = $_POST['msg'];
$frienduser = $_POST ['frienduser'];

/*mysql data below */ 
$dbc = mysql_connect('localhost', 'removemypasswords', 'again');
if(!dbc) {
die("Something went wrong! Try again...");
}
/* select database */ 
$db_select = mysql_select_db("andagain, $dbc");
if (!db_select){
die("Can't connect :" .mysql_error);
}
$query = mysql_query("SELECT FROM users WHERE usernames ='$usernames'");
$query1 = mysql_query(INSERT INTO  `gtanews1_zips54`.`msg` (
`id` ,
`friendid` ,
`msg`
)
VALUES (
'$query',  '$frienduser',  'msg'
);
echo ($msg);


?>
4

5 回答 5

0

如何在 $query1 周围加上引号,例如

$query1 = mysql_query("INSERT INTO gtanews1_zips54.msg (`id` ,`friendid` ,`msg`)
VALUES ('$query',  '$frienduser',  'msg')");
于 2012-05-25T23:08:57.837 回答
0

应该

$query = mysql_query("SELECT * FROM users WHERE usernames ='$username'");
$result = mysql_fetch_array($query);

$query1 = mysql_query("INSERT INTO gtanews1_zips54.msg (id,friendid,msg) VALUES ('" . $result['yourField'] . "', '$frienduser','$msg')");
于 2012-05-25T23:13:19.463 回答
0

你的 mysql 选择数据库代码是错误的。你需要在逗号前加上引号

mysql_select_db("又一次", $dbc);

还要在查询末尾加上引号

$query = mysql_query("SELECT FROM users  WHERE usernames ='$usernames'"); $query1 = mysql_query(INSERT INTO `gtanews1_zips54`.`msg` ( `id` , `friendid` , `msg` ) VALUES ( '$query', '$frienduser', 'msg' )");
于 2012-05-25T23:13:59.580 回答
0

这里有很多问题:

   <?php

$username = $_POST['username'];
$msg = $_POST['msg'];
$frienduser = $_POST ['frienduser'];

/*mysql data below */ 
$dbc = mysql_connect('localhost', 'removemypasswords', 'again');
if(!$dbc) {  //- You forgot the dollar $ sign on $dbc
die("Something went wrong! Try again...");
}
/* select database */ 
$db_select = mysql_select_db("andagain", $dbc);  //- You had the entire thing quoted, quotes are just around "andagain"
if (!db_select){
die("Can't connect :" .mysql_error());  //- You forgot the parentheses after mysql_error  
}
$query = mysql_query("SELECT FROM users WHERE usernames ='$usernames'");
//- You need to actually get the results out of the query object
$row = mysql_fetch_assoc($query);
if (!$row) {
    die('User not found');
}
$user_id = $row['id']; //- Or whatever the column is called
$query1 = mysql_query("INSERT INTO  `gtanews1_zips54`.`msg` (
`id` ,
`friendid` ,
`msg`
)
VALUES (
'$user_id',  '$frienduser',  'msg'
");   //- You forgot to put quotes around this query
echo ($msg);


?>

这只是开始,可能还有其他问题,具体取决于您的数据库架构/数据传输格式。

此外,您对 SQL 注入持开放态度。

于 2012-05-25T23:14:46.687 回答
0

你的代码有很多错误。

  1. $db_select = mysql_select_db(再次,$dbc);
  2. $query = mysql_query('SELECT FROM users WHERE usernames="$usernames"');

因为 Stackoverflow 不是修复代码错误的社区..所以我把这份工作留给你。

以下是一些可以帮助您解决所有错误的要点?

  1. 变量替换不能使用单引号 (') 。双引号允许变量替换。
  2. 为了在引号内转义引号,我们使用 \
  3. 参数不能用双引号封装。
于 2012-05-25T23:23:45.753 回答