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

解決済みの質問

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文を表示してみましたがおかしいところは特に見つかりませんでした。それではよろしくお願いします。

投稿日時 - 2008-01-23 16:55:42

QNo.3706547

困ってます

質問者が選んだベストアンサー

'$cardnumber'
の後ろに,が抜けているから・・・かなぁ

投稿日時 - 2008-01-23 17:57:36

補足

ああ!確かによくみればついていませんでした。
早速つけてみたところ別のエラーがでてきましたがなんとかなりました。そのエラーはno such fieldとなりカラムのことだと思われるので
自分で何とかしようと思いますありがとうございました。

投稿日時 - 2008-01-23 18:05:41

ANo.1

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

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

回答(1)

あなたにオススメの質問