2017-07-04 8 views
-1

私はこれがおそらく良いプログラマに夢中に見えるが、私はノブであり、基本を理解しようとしていることに気づいた。簡単な質問/回答サイトを構築しようとしています。私はデータベースに質問を提出することはできますが、私は答えをユーザーに指示するとき、私は正しいテーブルid(q_id)を置く必要があります。私はこの問題を解決するために何かオンラインで見つけることができません。私は "mysqli_queryを使わないでください"と言っていますが、誰かが正しい値をq_idに渡す方法を理解するのを助けることができれば、大きな助けになるでしょう。その下に私のPHPコードを見ることは、おそらく私がしようとしていますどのような意味を行います:あなたが質問を表示するページを開くとPHPのSQLステートメント変数?

//set up connection credentials 
$servername = "127.0.0.1"; 
$username = "root"; 
$password = ""; 
$dbname = "ask"; 

// Create connection 
$conn = mysqli_connect($servername, $username, $password, $dbname); 
// Check connection 
if (!$conn) { 
die("Connection failed: " . mysqli_connect_error()); 
} 
//gather the data from the form 
$answer = $_POST["answer"]; 
$q_id = mysqli_query($conn,"select q_id from questions order by q_id 
desc limit 1"); 


$sql = "INSERT INTO answers (answer, q_id) VALUES ('$answer', 
    '$q_id')"; 
if (mysqli_query($conn, $sql)) { 

echo "answer submitted"; 




} else { 
echo "Error: " . $sql . "<br>" . mysqli_error($conn);} 



?> 

答えて

0

、あなたはすでにもう一度それを使用、q_idを使用しています。

stackoverflowのURLのように、質問のIDはURLである: https://stackoverflow.com/questions/44896448/sql-statement-in-php-variable

あなたはq_idを取得するために$ _GETメソッドを使用することができますので、まだ再書き込みを知らないので。

EDITED:

ユーザーinsert_id;あなたの質問を投稿した後に最後のIDを取得するには、あなたは質問のIDを持っています

if (mysqli_query($conn, $sql)) { 
$last_id = $conn->insert_id; 
echo "answer submitted, id is ".$last_id; 




} else { 
echo "Error: " . $sql . "<br>" . mysqli_error($conn);} 



?> 
+0

ああ私はこれを試してみませんでした。ありがとうございました! – do734

+0

質問:私はどのようにユーザーID(私の場合はq_id)をURLに渡すのですか?私はフォームに質問を提出させることができますが、getメソッドはURLに投稿しますが、IDはURLにありません。私は自動増分として私のDBに設定していると私はユーザーの質問を入力して私のDBに行くが、IDはURLにないDBにのみですか? – do734

+0

@ do734が更新されました! –

関連する問題