- 締切済み
php+MYSQL
打ち込んだ後 var_dunpにてqueryの中身を確認したところ falseになってしまっていて失敗してしまいますどうしたらいいでしょうか? $query = 'SELECT * FROM test'; $res = mysql_query($query,$link); ここがおかしいのかと思ってます <?php $link = mysql_connect('localhost','user','pass','dbname'); if ( $link !==false) { $msg =''; $err_msg =''; if ( isset( $_POST['send'] )=== true) { $subject =$_POST['subject']; $honbun =$_POST['honbun']; if ( $subject !=='' && $honbun !=='' ) { $query = " INSERT INTO ogawa ( " ."subject," ."honbun," .") VALUES ( " . "'" . mysqli_real_escape_string( $link, $subject ) ."', " . "'" . mysqli_real_escape_string( $link, $honbun ) . "'" ." ) "; $kakikomi = date('Y-m-d h:i:s'); $res = mysqli_query($link,$query); if ($res !==false) { $msg = '書き込みに成功しました。'; }else{ $err_msg = '書き込みに失敗しました。'; } }else{ $err_msg = 'タイトルと本文を書き込んで下さい。'; } } $query = 'SELECT * FROM test'; $res = mysql_query($query,$link); $data = array(); var_dump($res); if ($res) { while($row = mysql_fetch_assoc($res)) { array_push($data,$row); } } arsort($data); }else{ echo"データベースの接続に失敗しました"; } mysql_close($link); ?> <html> <head> <meta http-equiv="content-type" content="text/html;charset=UTF8;" /> </head> <body>> <table border="1"> <form action="test6.php" method="POST"><input type="hidden" id="auth_token" name="auth_token" value="04d8fdd9da7e7b2cba8698a7cffda5b427b29b5b"><input type="hidden" id="auth_token" name="auth_token" value="04d8fdd9da7e7b2cba8698a7cffda5b427b29b5b"> <tr><th>タイトル<td><input type="text" name="text" size="50"></td></tr> <tr><th>本文<td><textarea name="subject" cols="52" rows="8">
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- t_ohta
- ベストアンサー率38% (5253/13739)
> テーブル名直しても同じでした あとは $res = mysql_query($query,$link); じゃなくて $res = mysqli_query($query,$link); じゃないでしょうか。 mysql_xxxx と言うのは古い関数で、最近のモノは mysqli_xxxx に変わってます。
- t_ohta
- ベストアンサー率38% (5253/13739)
INSERT 時のテーブル名が ogawa で、SELECT 時のテーブル名が test とテーブル名が異なっていますが、どちらかが誤りじゃないですか。
補足
テーブル名直しても同じでした