2016-12-29 11 views
-1

一部のデータを取得するためにPHPコードに挿入したSQLクエリに問題があります。クエリ自体はSQL内で完璧に動作します。私は次のPHPスクリプトを使用しています。 私は以下の目標を持っています:Select SQLクエリがPHPで機能しない

  1. 既存のデータベースに接続してください。この部分はうまくいきます。
  2. $sqlの 'Transport'テーブルの 'Brand'列からデータを取得します。この部分はこの段階では機能していません。 echo ($sql)戻りSELECT Brand FROM Transport WHERE Type = 'car'

は、あなたがこの問題の解決策を参照してくださいなら、私に知らせてくださいませんし、コードの残りの部分は正しいかどうか。これは、ここに私のf_sqlConnect()

function f_sqlConnect() { 
    $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); 
    if (!link) { 
     die('Could not connect: '.mysql_error()); 
    } 
    $db_selected = mysql_select_db(DB_NAME, $link); 
    if (!$db_selected) { 
     die('Can not use'.DB_NAME. 
      ': '.mysql_error()); 
    } 
} 

/*This function cleans up the array to protect against injection attacks */ 
function f_clean($array) { 
    return array_map('mysql_real_escape_string', $array); 
} 

<?php 
    // Create connection 
    $link = f_sqlConnect(); 

    // Getting data from the column Brand of the table Transport 
    $sql = "SELECT Brand FROM Transport WHERE Type = 'car'"; 

    $result = $link->query($sql); 

    if ($result->num_rows > 0) { 
    // output data of each row 
    while($row = $result->fetch_assoc()) { 
     echo "Brand: " . $row["Brand"]. "<br>"; 
    } 
    } else { 
    echo "0 results"; 
    } 
    $link->close(); 
    ?> 
+0

f_sqlConnect()関数のコードを投稿できますか? –

+0

";"でend SQLのsenteceを試してください。次のように:「SELECT FROM Transport WHERE Type = 'car';」 – Hokusai

+0

@hokusai違いはありません –

答えて

0

はコードがあなたのf_sqlConnectを()見ず、です。 mothod。このメソッドは、DBの接続文字列を返す必要があります。しかし、これは動作する必要があります次のコードを使用することができます。

<?php 
$servername = "Your_db_host"; 
$username = "your_db_username"; 
$password = "your_db_password"; 
$dbname = "your_DB_name"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "SELECT Brand FROM Transport WHERE Type = 'car'"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
    // output data of each row 
    while($row = $result->fetch_assoc()) { 
     echo "Brand: " . $row["Brand"]; 
    } 
} else { 
    echo "0 results"; 
} 
$conn->close(); 
?> 

注:mysqliのオブジェクト指向の方法、あなたは接続してデータを取得するには、あまりにも、手続きの方法を使用することができます。

+0

* "1.既存のデータベースに接続してください。この部分はうまく機能します。" * –

+0

これは私のf_sqlConnect() – user3105772

+0

です。これは手段ですか?あなたのメソッド本体を取得しませんでした。 – webDev

関連する問題