2011-01-11 4 views
2
$query = $connect->prepare("SELECT firstname, lastname FROM users WHERE id = '$id'"); 

$query->execute(); 

$row = $query->fetch(); 

// $full_name = $row["firstname"] . " ".$row["lastname"]; 

$full_name = $row["firstname"] . " ".substr($row["lastname"], 0, 1)."."; 

return $full_name; 

コメント(//)の行を削除すると、$ full_nameが返されます。また、私は#でコメントしようとしたが、それはまだ、すぐcodecommentPHP:関数内のコーデックメントが機能しない

奇妙な問題

+0

私が考えることができる唯一のことは、スピーチマークがそれを台無しにするかもしれないということですか?つまりその行の途中でコメントを停止する – benhowdle89

+0

あなたにエラーが発生していますか?あなたのファイルはどのように実行されますか?あなたはすべての新しい行を削除するいくつかの種類のコンパイラ/ minifierを使用していますか?その場合、あなたのコメントは、関数の残りの部分もコメントになるでしょうか? – Nabab

答えて

1

それは私に起こったことはありません..非常に奇妙です。

てみコード

/* the code */

+0

これはうまくいけませんが、私が/ *と* /の中でコメントしたときに返ってきて、うまく実行します。受け入れられましたが、なぜそれが#または//使用) – Karem

+0

それはあなたのためにうまく動作します。あなたのPHPで何かをあふれさせる。iniファイル、あるいはあなたのhttpd.conf apache confogurationファイルにもあります。 – B4NZ41

1

コメントが実行に影響を及ぼさないはずがあるので(文句を言わない何かを返す)仕事を文句を言いません。

すべてのエラー処理を有効にしましたか? var_dump($ row)の内容は何ですか? ?

+0

はい、$行配列に正しい変数があります。それは非常に非常に奇妙な、実行に影響します。私も//をやろうとしましたが、それでもまだ戻り/何も返しません。しかし、私はそれが動作する削除します。 – Karem

2

私はそれが本当にコードだ場合を考えることができる唯一のことコメントの別の種類を//した後、いくつかのテキストを追加したり、この間のすべてのものを置く:あなたの中に改行文字の設定を確認してください他のエディタで開いてみてください。たぶん、PHPパーサは1行でそれを見ます。 しかし、私はそうは思わない。

+0

+1(regileroに似ています...)私はパーサーがエディタが行なわない改行を見ると思います。 – grossvogel

1

これは基本的なデバッグ(リテラルのサニティチェック)である必要がありますが、回答として投稿します。まず第一に、その後、上のすべてのエラーを回す:

echo 'before: ' . $full_name; 
// $full_name = $row["firstname"] . " ".$row["lastname"]; 
echo 'after' . $full_name; 

私は、これは非常識であると認識します!コメントはコメントであり、決して出力には影響しません。

echoは、まだ変数が定義されていない$full_nameが存在しないため、警告を発生させるはずです。両方が印刷されている場合は(我々はすべて知っているように)しかし、あなたは問題がコメント自体...ではありません知っているよ今

(この時点で、私の推測では、$full_name = " ";$query->fetch();ためにはfalseを...返されたということです) echoが実行されていない場合:まったく同じ関数を呼び出していますか?スペルミスやスペルミスがありませんでしたか?

1

奇妙な目に見えない文字を検出しようとします。 Linuxで私は "cat -e file.php"でそれを行います。

私はそれを試してみると、すべてのstrange-syntax-errors-for-one-line-in-fileがあります。

これをテストする別の方法です。 $ row = ...と$ full_name = ...の間のすべての行を削除してから、コメント行をやり直してください(ペーストなし、再入力)。

+0

+1受け入れられた答えが働くという事実も、この種のことを指しています。パーサは、エディタが行なわない改行を見ます。 – grossvogel

関連する問題