2016-12-09 6 views
0
<?php 
    $servername = "localhost"; 
    $username = "user"; 
    $password = "pass"; 
    $dbname = "test"; 
    $tablename = "mapcoords"; 

    $conn = new mysqli($servername, $username, $password, $dbname); 

    if ($conn->connect_error) 
    { 
    echo "Failure"; 
    die("Connection failed: " . $conn->connect_error); 
    } 

    echo "Connected successfully"; 
    $sql = "SELECT (lat, lng) FROM mapcoords"; 
    $result = $conn->query($sql); 

    while($row = $result->fetch_assoc()) 
    { 
     echo "ok"; 
    } 



    $conn->close(); 

?> 

ここにコードがあります。私が言ったように、それは正常に接続することができますが、コードは正常に照会されません。奇妙なのは、私が同じコードをコピーして貼り付けると、まったく同じように見えることです。意味がない。私のコードと私のコードとの間には、物事を隙間を埋める方法と、私が物事を捨てる方法以外に、一つの違いはありません。ここでは、そのコードは次のとおりです。PHPでのSQLデータベース接続は成功しましたが、照会できません

<?php 
$servername = "localhost"; 
$username = "username"; 
$password = "password"; 
$dbname = "myDB"; 

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

$sql = "SELECT (lat, lng) FROM mapcoords"; 
$result = $conn->query($sql); 

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

'$ sql =" SELECT(lat、lng)FROMマップコード ";'なぜ括弧シス?それはあなたの質問を破っています。適切なエラー処理とレポートを有効にした場合( 'error_reporting(E_ALL);'と '' mysqli_error')(http://php.net/manual/en /mysqli.error.php))なぜあなたも分かるかもしれません;-) – Qirel

+0

''コードは正常に ""クエリーできません - それは何をしますか?エラーは何ですか? http://php.net/manual/en/mysqli.error.php – David

+0

@Qirel次に、同じ$ SQL文を使用していても、なぜ括弧を含めてw3の学校コードが動作するのですか? –

答えて

3

問題は、このクエリということです:あなたは

SELECT lat, lng FROM mapcoords 
にクエリを変更する必要が

[21000][1241] Operand should contain 1 column(s)

SELECT (lat, lng) FROM mapcoords 

がfolloowingエラーを返します

+0

そして、以下の非オブジェクトに関する何かが得られる理由は、クエリが失敗したときに 'result'がオブジェクトではない' false'になり、メンバーを見ることができないということです。より賢明なエラーメッセージを得るには、常にクエリの結果をチェックし、偽であればエラーメッセージを表示します。 –

+0

ありがとうございました! –

+0

うれしい私は助けることができます。あなたの質問に満足していると感じたら答えを選んでください。それ以外の場合は、回答を投稿して受け入れます。 – Arnolio

関連する問題