エラー箇所は(A)と(B)の二箇所で、Undefined indexです。
なんか間違ってますか?
ハマってます。
どなたか助けてくださいm(_ _)m
function db_modify_wordmaster($conn, $worddata){
$worddata['word_name'] = addslashes($worddata['word_name']); //(A)
$worddata['word_count'] = addslashes($worddata['word_count']); //(B)
$sql = <<<EOS
UPDATE word_master
SET
word_count = {$worddata['word_count']},
word_reload = now()
WHERE
word_name = '{$worddata['word_name']}'
EOS;
//$sql = euc2sjis_for_Winodows($sql);
$result = execute_sql($conn, $sql);
}
引数に指定している$worddataにインデックスが無いらしいので、
関数に入った直後の値をvar_dumpなどでチェックしてみてはどうでしょうか?
必ず入っていなければならないのであれば、
if(isset($worddata['word_name'])) {
return false;
}
などとして処理を中断するなどをしてはどうでしょうか。
エラーメッセージは、未定義の添字ですから、関数に引き渡された値を確認してみては?
例えば、(A)の前に、
var_dump($worddata);
を入れてみるとか。
もしかしたら、この関数が呼ばれるのはform等から何か送られてくるのを前提としているのでは?
最初にそのformを表示する時も呼んでしまっていて、$worddata['word_name'] などは未定義のままとか?
> はform等から何か送られてくるのを前提としているのでは?
> 最初にそのformを表示する時も呼んでしまっていて、$worddata['word_name'] などは未定義のままとか?
全くそのとおりです^^;
PHPというかプログラムを始めたばかりで独学なので、何が問題なのか?切り分けられてないのです。
以下のコメントに、DBルーチンに飛ばす前ののコードを書いてみました。
もしよろしければ、アドバイスなどいただければ幸いですm(_ _)m
引数に指定している$worddataにインデックスが無いらしいので、
関数に入った直後の値をvar_dumpなどでチェックしてみてはどうでしょうか?
必ず入っていなければならないのであれば、
if(isset($worddata['word_name'])) {
return false;
}
などとして処理を中断するなどをしてはどうでしょうか。
こんにちは、ご回答ありがとうございます。
if(isset($worddata['word_name'])) {
return false;
}
で逃げたつもりですが、なんか処理は進み前進はあったものの違うエラーが出てきました。
以下のコメントに、DBルーチンに飛ばす前ののコードを書いてみました。
お時間があれば、アドバイスなどいただければ幸いですm(_ _)m
こんにちは、ご回答ありがとうございます。
if(isset($worddata['word_name'])) {
return false;
}
で逃げたつもりですが、なんか処理は進み前進はあったものの違うエラーが出てきました。
以下のコメントに、DBルーチンに飛ばす前ののコードを書いてみました。
お時間があれば、アドバイスなどいただければ幸いですm(_ _)m