我很擅长在php中使用mysql和变量。
我有这段代码
mysql_query("INSERT INTO `forum_threads` (`name`, `byid`, `cid`,
`content`, `time`, `lastreplied_time`, `lastreplier_id`) VALUES
('{$title}', '{$uid}', '{$cid}', '{$content}', '" . time() . "', '" .
time() . "', '{$uid}');") or die(mysql_error());
在我的php文件中,我希望byid
成为我的表id
中forum_users
的值。因此,我可以将{$uid}
替换为可从forum_users
获取值的内容。因为我不认为{$ uid}工作正常。
我找到了这段代码
/* Non-existant forum account */ final public function
createForumAccount($uid) {
$getHabboUser = mysql_query("SELECT * FROM
`users` WHERE `id` = '{$uid}' LIMIT 1");
我认为该代码的功能是让{$uid}
与id
表中的users
相等,我想让{$uid}
等于id来自forum_users
表。
然后我找到了这段代码:
final public function getUserData($uid, $var) {
if($this->checkForAccount($uid) == true) {
$check = mysql_query("SELECT `{$var}` FROM `forum_users` WHERE `uid` = '{$uid}' LIMIT 1") or die(mysql_error());
return mysql_result($check, 0);
}
}
该代码希望{$uid}
与forum_users id
相等。这正是我想要的,但它并不等于它,它等于id
表中的users
而是,我认为它可能会相互碰撞。
我该如何解决这个问题?我可以在第一个代码中替换{$uid}
,因此byid
会立即选择forum_users
吗?我可以创建一个等于forum_users.id
的新变量吗?
答案 0 :(得分:0)
首先,这个SQL查询毫无意义。但是我也不确定你的问题。如果您想要在表格中将byid
更改为id
,则必须更改该表格。但这是一个更简洁的sql查询版本。
尝试:
mysql_query("INSERT INTO forum_threads SET name=\"".$title."\",byid=\"".$uid."\",cid=\"".$cid."\",content=\"".$content."\",time=\"".time()."\",lastreplied_time=\"".time()."\",lastreplier_id=\"".$uid."\" WHERE id=\"".$uid."\" LIMIT 1") or die("Error: ".mysql_error());
//You Change ID to byid
将byid更改为ID
mysql_query("ALTER TABLE `forum_threads` CHANGE `byid` `id` int NOT NULL")or die("Error: ".mysql_error());
// this will change the column byid to id
请记住Mysql_connect()
和mysql API
是旧版本,在php 7之后没有使用,所以开始学习mysqli api