PHPで直接、MySQLにINSERTするために、以下のテーブルを作成しました。tasksという名前の、id,title,task_date,place,memoの5つの列を作成し、tasksというテーブルを作成します。
lang
1<?php 2require_once('dbconnect.php'); 3$stmt = $mysqli->prepare("INSERT INTO tasks (id,title,task_date,place,memo) VALUES (?,?,?,?,?)"); 4// 直前のクエリで使用した自動生成のIDを返す処理 5$query = "INSERT INTO tasks VALUES (NULL,'Stuttgart','DEU','Stuttagart',617000)"; 6$mysqli->query($query); 7// $_POST['name']に名前が、$_POST['message']に本文が格納されているとする 8// ? の位置に値を振り当てる。対応する変数の型はstring。 9$stmt->bind_param('sssss',$_POST['id'],$_POST['title'],$_POST['task_date'],$_POST['place'],$_POST['memo']); 10// 実行 11$stmt->execute(); 12?>
ここからが問題です。
INSERTすることができ、(皆様のお力添えにより)PHPからその内容を表示することもできるようになりました。
次に、その内容(1つのタスク)を編集(UPDATE文)、削除(DELETE文)を作成する際、どういった考え方があるのか教えていただけますでしょうか。
ちなみに、私はこういう風にかいてみました。
lang
1//UPDATE文 2require_once('dbconnect.php'); 3// 実行するためのステートメントを準備する。ユーザが作成する箇所は?にしておく。 4$stmt = $mysqli->prepare('UPDATE tasks SET title = ? ,task_date = ?'); 5// 直前のクエリで使用した自動生成のIDを返す処理 6$query = "UPDATE tasks SET title = ? task_date = ?"; 7$mysqli->query($query); 8// 実行 9$stmt->execute(); 10echo '修正件数= ' . mysql_affected_rows() . '<BR>'; 11?>
UPDATE文は構文上、WHERE句が必要と書いてありますが、既存(MySQLに保有してある)のデータを修正するためにはどういう指定の仕方をするのか検討もつきませんでした。
lang
1//DELETE文 2 3<?php 4require_once('dbconnect.php'); 5// 実行するためのステートメントを準備する。 6$stmt = $mysqli->prepare("DELETE FROM tasks"); 7// 直前のクエリで使用した自動生成のIDを返す処理 8$query = "DELETE FROM tasks"; 9$mysqli->query($query); 10// ? の位置に値を振り当てる。対応する変数の型はstring。 11$stmt->bind_param('sssss',$_POST['id'],$_POST['title'],$_POST['task_date'],$_POST['place'],$_POST['memo']); 12// 実行 13$stmt->execute(); 14?>
DELETE文に関しては、tasksに含まれるすべてのTABLE情報を消してしまいます。
これも構文として、用いるのはWHERE句なのですかね。ひとつの列のみの削除等を考えております。
それと、エンジニアの方々は理論がわかった上でテンプレートなどを用いることなく独自の処理でコードを書くようですが、そのためにはどういった勉強法が必要なのか具体的に教えていただければ嬉しいです。
今までHTML、CSSと学び、PHPというものに触れたときに、どういった感覚で技術を身につけていくのかが、独学ゆえ分かりません。
具体的なノウハウなどがあれば参考にさせていただきたく思います。
どうしても形にしたいことがあるので、死に物狂いで勉強しています。
いくつもの質問と同時に失礼します。
よろしくお願い致します。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。