2017-07-11 14 views
0

私はこの問題をしばらく扱っています。 私はすべてが正しいと思いますが、実際にはクエリに問題があることを伝え続けます。しかし、私は本当にそれを見つけることができません。ここでPHPを使ってmysqlにアクセスできないのはなぜですか?

はコードです:

<?php 
function query_check ($query) 
{ 
    if(!$query) 
    { 
     die ("Database query failed"); 

    } 
} 

function Create($Name,$Last_Name,$Number) 
{ 
global $conncetion; 

$S_Name=mysqli_real_escape_string($conncetion,$Name); 
$S_Last_Name=mysqli_real_escape_string($conncetion,$Last_Name); 
$S_Number=mysqli_real_escape_string($conncetion,$Number); 
$query="INSERT INTO phone_book.info (first_name,last_name,phone_number) 
VALUES ({$S_Name},{$S_Last_Name},{$S_Number}); "; 
$result=mysqli_query($conncetion,$query); 
query_check($result); 
} 

//Delete 
function Del($Name,$Last_Name,$Number) 
{ 
    global $conncetion; 

    $S_Name=mysqli_real_escape_string($conncetion,$Name); 
    $S_Last_Name=mysqli_real_escape_string($conncetion,$Last_Name); 
    $S_Number=mysqli_real_escape_string($conncetion,$Number); 
    $query="DELETE FROM "; 
    $query.="phone_book.info WHERE first_name={$S_Name} OR last_name={$S_Last_Name} OR phone_number={$S_Number}"; 
    $result=mysqli_query($conncetion,$query); 
    query_check($result); 

} 

function Search($Name,$Last_Name,$Number) 
{ 
    global $conncetion; 

    $S_Name=mysqli_real_escape_string($conncetion,$Name); 
    $S_Last_Name=mysqli_real_escape_string($conncetion,$Last_Name); 
    $S_Number=mysqli_real_escape_string($conncetion,$Number); 
    $query="select * from info where first_name={$S_Name} or last_name={$S_Last_Name} or phone_number={$S_Number}"; 
    $result=mysqli_query($conncetion, $query); 
    query_check($result); 
    if($search=mysqli_fetch_assoc($result)) 
    { 
      return $search["first_name"]; 
      return $search["last_name"]; 
      return $search["phone_number"]; 
    } else 
    { 
     return "No such information was found"; 
    } 

} 
?> 

私はあなたが問題を見つける私を助けることができることを願っています。

+0

ここでは何も実行されていません。非常に多くの別々の '<?php'タグを使う理由は?面白い。おそらくあなたの接続です。 'new mysqli()'または 'mysqli_connect()'を見てください。 – PHPglue

+0

問題が発生している箇所のコードセクションを投稿できますか?また、観察された結果および期待される結果。質問を投稿する際にこれを参照してください。 https://stackoverflow.com/help/mcve – Adam

+1

完全なコードを掲載しているかどうか確認できますか?これらはちょうど関数であり、それらのどれも呼び出されていません。 –

答えて

2

あなたのSql内には、多くの文字列値があると仮定して挿入していますが、そのうちの1つは引用されていないので、Sqlはそれらを整数として挿入しようとします。

この例のために、次のように

$query="INSERT INTO phone_book.info (first_name,last_name,phone_number) VALUES ({$S_Name},{$S_Last_Name},{$S_Number}); "; 

は次のようになります。

$query="INSERT INTO phone_book.info (first_name,last_name,phone_number) VALUES ('{$S_Name}','{$S_Last_Name}','{$S_Number}'); "; 

あなたが削除してselect文とまったく同じ問題を持っています。

+0

あなたの助けを借りて...それはうまくいった... 私は本当に感謝しています... – Danrey

0
$query="INSERT INTO phone_book.info (first_name,last_name,phone_number) VALUES ('$S_Name','$S_Last_Name','$S_Number')"; 
関連する問題