こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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">

投稿日時 - 2017-05-09 14:14:10

QNo.9327152

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

> テーブル名直しても同じでした

あとは
$res = mysql_query($query,$link);
じゃなくて
$res = mysqli_query($query,$link);
じゃないでしょうか。
mysql_xxxx と言うのは古い関数で、最近のモノは mysqli_xxxx に変わってます。

投稿日時 - 2017-05-09 18:02:31

ANo.1

INSERT 時のテーブル名が ogawa で、SELECT 時のテーブル名が test とテーブル名が異なっていますが、どちらかが誤りじゃないですか。

投稿日時 - 2017-05-09 14:59:11

補足

テーブル名直しても同じでした

投稿日時 - 2017-05-09 17:33:35