value count on rowというエラーについて教えてください。
ソースを載せます。
<?php
require_once("DB.php");
$dbUser = "root"; // ユーザー名
$dbPass = "root"; // パスワード
$dbHost = "localhost"; // ホスト名
$dbName = "shopping"; // データベース名
$dbType = "mysql"; // データベースの種類
$dsn = "$dbType://$dbUser:$dbPass@$dbHost/$dbName";
// データベースに接続
$conn = DB::connect($dsn);
// 接続に失敗したらメッセージを表示して終了します。
if (DB::isError($conn)){
die($conn->getMessage());
}
// POSTされたデータを受け取り、エスケープします。
if($user_name==""){
print"名前が入力されていません<BR>";
}
if($phone==""){
print("電話番号が入力されていません<BR>");
}
if($mail==""){
print("メールアドレスが入力されていません<BR>");
}else if (preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $mail)) {
echo "正しいメールアドレスです";
} else {
echo "正しくないメールアドレスです";
}
if($mail1==""){
print("再度メールアドレスが入力してください<BR>");
}
if($zipcode==""){
print("〒が入力されていません<BR>");
}
if($address==""){
print("住所が入力されていません<BR>");
}
$password = addslashes($_POST['password']);
$user_name = addslashes($_POST['user_name']);
$zipcode = addslashes($_POST['zipcode']);
$zipcode1 = addslashes($_POST['zipcode1']);
$ken = addslashes($_POST['ken']);
$address = addslashes($_POST['address']);
$apart = addslashes($_POST['apart']);
$phone = addslashes($_POST['phone']);
$mail = addslashes($_POST['mail']);
$cardnumber = addslashes($_POST['cardnumber']);
$cardnumber1 = addslashes($_POST['cardnumber1']);
$cardnumber2 = addslashes($_POST['cardnumber2']);
$cardnumber3 = addslashes($_POST['cardnumber3']);
$carddate = addslashes($_POST['year']);
$carddate1 = addslashes($_POST['month']);
$cardmembername = addslashes($_POST['cardmembername']);
print$password."<br>";
print$user_name."<br>";
print$zipcode."<br>";
print$address."<br>";
print$phone."<br>";
print$mail."<br>";
print$cardnumber."<br>";
print$carddate."<br>";
print$cardmembername."<br>";
print$ken."<br>";
print$apart."<br>";
print$cardnumber1."<br>";
print$cardnumber2."<br>";
print$cardnumber3."<br>";
print$carddate1."<br>";
print$zipcode1."<br>";
print("2");
$sql = <<<EOS
INSERT INTO USERS
(
PASSWORD,
USER_NAME,
ZIPCODE,
ADDRESS,
PHONE,
MAIL,
CARDNUMBER,
CARDDATE,
CARDMEMBERNAME,
KEN,
APART,
CARDNUMBER1,
CARDNUMBER2,
CARDNUMBER3,
CARDDATE1,
ZIPCODE1
)
VALUES
(
'$password',
'$user_name',
'$zipcode',
'$address',
'$phone',
'$mail',
'$cardnumber'
'$carddate',
'$cardmembername',
'$ken',
'$apart',
'$cardnumber1',
'$cardnumber2',
'$cardnumber3',
'$carddate1',
'$zipcode1'
)
EOS;
//$sql = mb_convert_encoding( $sql, "SJIS", "EUC-JP");
print$sql;
// SQL文を発行
$conn->query('SET NAMES ujis');
$result = $conn->query($sql);
if (DB::isError($result)) {
die ($result->getMessage());
}
$count = $result->numRows();
print "データを" . $count . "件、挿入しました。";
// データベースから切断します。
$conn->disconnect();以上がソースですが、自分ではSQLは正しいと思っていますが、
このエラーがでてインサートできずに困っています。
sql文を表示してみましたがおかしいところは特に見つかりませんでした。それではよろしくお願いします。
お礼
>output_bufferingはheaderやsetcookie「以外の」出力(つまりhttpレスポンスヘッダでなくhttpレスポンスボディ)をバッファリングするからです。 なるほどそういうことですか。 ありがとうございました。