2017-03-04 2 views
0

私はPHPでmysqlと変数を使うのが初めてです。変数をクエリに置き換えます

は、私は私のPHPファイルには、このコード

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()); 

を持って、私は私のテーブルforum_usersidの値になるようにbyidをしたいです。だからをforum_usersから値を得るものに置き換えることができます。私は{$ uid}が正しく動作しているとは思わないので。

は私がそのコードの機能は{$uid}usersテーブルからidを等しく得ることであることを前提としてい

/* Non-existant forum account */ final public function 
createForumAccount($uid) { 
    $getHabboUser = mysql_query("SELECT * FROM 
     `users` WHERE `id` = '{$uid}' LIMIT 1"); 

このコードを発見し、私はforum_usersテーブルからIDを等しくなるように{$uid}を作りたいです。

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); 
    } 
} 

このコードは等しいforum_users idから{$uid}を望んでいる:

は、その後、私はこのコードを発見しました。それはまさに私が欲しいものですが、それは等価ではなく、代わりに usersテーブルの idと同じです、私はそれがお互いまたは何かに衝突するかもしれないと仮定します。

どうすればこの問題を解決できますか?最初のコードで{$uid}を置き換えることができますので、はすぐにforum_usersから選択されますか? forum_users.idに等しい新しい変数を作成できますか?

+1

を学ぶために始めるMysql_connect()を覚えてmysql APIが古いと7をPHPの後に使用されていない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 

にbyid変更しますmysql_ *関数の使い方のチュートリアルがどこでどのように見つかったのか知っていますが、 e mysql_connect()のドキュメントには、**大きな赤いボックスが表示され、それを使用するために償却されます**。したがって、PDOかmysqliを学び、私たちに戻ってください。 – Xorifelse

答えて

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 

だけので、私はいけないmysqli api

http://php.net/manual/en/book.mysqli.php

+0

私はあなたが理解しているとは思わない、あなたはこのコードで "byid"を参照してください? ** mysql_query( 'INSERT INTO 'forum_threads'(' name'、 'byid'、' cid'、 'content'、' time'、 'lastreplied_time'、' lastreplier_id')VALUES(' {$ title} '、' { time()。 "'、' {$ uid} ');")または($ uid)'、 '{$ cid}'、 '{$ content}'、 (mysql_error()); **そのクエリが実行されるとき、 "byid"は "{$ uid}"に等しく、I {$ uid}はユーザの "id"と等しくなります。私はbyidがそのクエリーのforum_users "id"と等しくなるようにします –

+0

だから$ uidはすでにforum_users/idの値を持っていますか?または、それをuidに割り当てる必要がありますか?これはチェックインされていますか?または、forum_usersのどの特定のIDを知っていますか? – DarkSideKillaz

関連する問題