Android:MySQL数据库SQL语句
我有两张桌子。一个表存储用户详细信息,另一个表存储用户创建的文件。我现在正试图将userid、filename和moddate保存到files表中 用户表包含:Android:MySQL数据库SQL语句,android,mysql,sql,database,Android,Mysql,Sql,Database,我有两张桌子。一个表存储用户详细信息,另一个表存储用户创建的文件。我现在正试图将userid、filename和moddate保存到files表中 用户表包含:userid、unique\u id(散列值)、username 文件表包含:id、userid、filename、moddate 我可以获得unique\u id值,并使用下面的sql语句从users表中获取userid $id = mysqli_query($con,"SELECT userid FROM users WHERE un
userid、unique\u id(散列值)、username
文件表包含:id、userid、filename、moddate
我可以获得unique\u id
值,并使用下面的sql语句从users表中获取userid
$id = mysqli_query($con,"SELECT userid FROM users WHERE unique_id= '$userid'");
$result = mysqli_query($con,"INSERT INTO files(userid, name, mod_date) VALUES('$id','$name', NOW())");
但是数据库中files表中添加的userid值保持为0。我做得对吗?Insert语句正确吗
更正:
$id = mysqli_query($con,"SELECT userid FROM users WHERE unique_id= '$userid'");
$rowid = mysqli_fetch_row($id);
$result = mysqli_query($con,"INSERT INTO file_info(userid, name, mod_date) VALUES('$rowid','$name', NOW())");
mysqli\u查询
不会返回所选id。它返回mysqli\u结果
对象。您必须使用mysqli\u fetch\u xxx
函数来获取行并从中获取数据。请参见此处的示例:
请看以下代码:
$result = mysqli_query($con, "SELECT userid FROM users WHERE unique_id = '$userid'");
$row = mysqli_fetch_row($result);
if ($row){
$id = $row[0];
...
$result = mysqli_query($con, "INSERT INTO file_info (userid, name, mod_date) VALUES('$id','$name', NOW())");
}
我可以确认这个问题是否与Android或纯PHP有关吗?首先,您获取整行数据,然后提取userid并尝试使用这种方式……我已经添加了上面的更正部分。我是这样做的吗?不,mysqli\u fetch\u row将表行作为数组返回。您必须使用:$rowid[0]来获取ID,但我还建议您根据变量的实际含义重命名变量。