2016-10-24 22 views
-2

SQLの値を返すのに問題がありますが、SQLリクエストはコンソールでうまく動作しますが、コードで行を返すことはできません。ありがとう!あなたのコードは、関数内でなければ意味がありませんSQLは任意の値を見つけることができません

<?php 
require_once 'sql.php'; 
$sqlConnexion = new mysqli($hn,$un,$pw,$db); 
if($sqlConnexion->connect_error){ 
die ('Soucis de connexion SQL');} 

$date = date("d/m/y G:i:s"); 
if(isset($_POST['zoneDeText'])){ 
$area = $_POST['zoneDeText']; 

    $queryone= "SELECT SortieTraitée FROM entry WHERE entréesUtilisateurs=?"; 
    $instruction = $sqlConnexion->prepare($queryone); 
    if(!$instruction->prepare($queryone)){ 
     echo "$instruction->errno"; 

    }else{ 
    $instruction->bind_param('s', $area); 
    $instruction->execute(); 
    $result = $instruction->get_result(); 

    while ($row = $result->fetch_array(MYSQLI_NUM)){ 
    foreach ($row as $out){ 
    if($out == $area){ 
     echo $out; 
    }elseif($out != $area){ 
     echo 'Still not found'; 
      } 
     } 
    } 
     $instruction->close(); 
} 
?> 
+2

'entréesUtilisateursの=を選択しますか? FROM entry'は正しい結果を表示できません。あなたの 'where'節はどうなりましたか? –

+0

* nothing *タグは、特にVB.Netの 'nothing'値を指します。ここのタグには特定の意味があります。おなじみのような言葉があるので、ランダムに追加しないでください。適切であることを確認する前に、タグの説明を読んでください。あなたがまだ分かっていないなら、それを離れてください。そして、もし必要ならここに誰かがそれをあなたのために追加します。また、コード関連の質問をするときに使用している言語のタグを含めることも重要です。これを行うには[編集]してください。 –

答えて

0

あなたが実際には何も印刷されない、あなただけのreturn値、。

if($out == $area){ 
    return $out; 
} 

ドキュメントhttp://php.net/returnは言う:

リターンがメインスクリプトファイル内から呼び出された場合、スクリプトの実行が終了します。

上記のコードが別のPHPスクリプトに含まれていない限り、スクリプトを終了して何も出力しないことを意味します。

あなたのスクリプトには他にもいくつかの混乱がありますが、おそらくあなたが尋ねている問題の原因となっているのはおそらく上記のものでしょう。


は、ここで私はこのコードを書くかもしれない方法は次のとおりです。

if (isset($_POST['zoneDeText'])) { 
    $area = $_POST['zoneDeText']; 

    $queryone = "SELECT SortieTraitée FROM entry WHERE entréesUtilisateurs=?"; 
    $instruction = $sqlConnexion->prepare($queryone); 

    // if the prepare fails, it is false 
    if ($instruction === false) { 
     // false is not an object, it has no error attribute 
     // the error is an attribute of the connection 
     die($sqlConnexion->error); 
    } 

    $instruction->bind_param('s', $area); 
    $instruction->execute(); 
    $result = $instruction->get_result(); 

    // if there are zero rows in the result, the while loop 
    // will finish before it starts, so there will be no output 
    // so first check for a result of zero rows in the result 
    if ($result->num_rows == 0) { 
    echo("Found zero rows"); 
    } else { 
    while ($row = $result->fetch_assoc()) { 
     echo $row["SortieTraitée"]; 
    } 
    } 
    $instruction->close(); 
} 
+0

ありがとう、はい、あなたは私が初心者だということが分かります=)はいリターンはひどい間違いでした:(たとえ私が "echo $ out"と言うと置き換えても何も表示されません)感謝=) – user2690397

+0

@ user2690397上記のコード例を参照 –

+0

それは働いています、ありがとう – user2690397

関連する問題