2015-03-15 5 views
0

Я очень новичок в mysql, и я хочу выбрать столбец, сопоставляя два значения.Написание PHP Mysql-запроса

Это мой запрос

$q = Select column1 from table where column1, column2=2 ; 
+0

Итак, вы хотите совместить только 'column2'? (Также попробуйте изучить некоторые sql. Вот один ресурс для обучения http://dwbi.org/database/sql) – hashbrown

+0

Вы не отметили, на каком языке вы работаете - работаете ли вы на PHP? –

ответ

0

Если вы хотите, чтобы соответствовать значению определенного столбца с заданным значением, используйте только этот конкретный столбец в WHERE. Например,

$q='Select column1 from table where column2=2'; 

Вы также можете поместить несколько столбцов, если хотите. Например.

$q='Select column1 from table where column2=2 AND column3="some other value"'; 

Также рассмотрите возможность изучения SQL. Доступны многочисленные ресурсы. Вот один из них: http://dwbi.org/database/sql

0

В PHP есть два основных API баз данных: mysqli_ * и PDO.

Больше не использовать функции mysql_ * - они устарели и подвержены проблемам безопасности.

Для вашего запроса, которую ваш код будет выглядеть примерно так, как это в MySQLi (копирование на http://php.net/manual/en/mysqli-stmt.fetch.php пример и изменяющее его):

<?php 
$mysqli = new mysqli("localhost", "my_user", "my_password", "world"); 

/* check connection */ 
if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 

$query = "SELECT column1 FROM table WHERE column2 = 2"; 

if ($stmt = $mysqli->prepare($query)) { 

    /* execute statement */ 
    $stmt->execute(); 

    /* bind result variables */ 
    $stmt->bind_result($column1); 

    /* fetch values */ 
    while ($stmt->fetch()) { 
     printf ("column1=%s\n", $column1); 
    } 

    /* close statement */ 
    $stmt->close(); 
} 

/* close connection */ 
$mysqli->close(); 
?> 

Использование PDO будет похож, но вы нашли бы пример на http://php.net/manual/en/pdostatement.fetch.php

Поскольку сейчас кажется, что SQL - это ваш главный вызов, я настоятельно рекомендую получить какой-то графический интерфейс, который позволит вам работать с вашими запросами в режиме реального времени. Золотым стандартом является phpMyAdmin, но есть и другие.

Как только вы начнете обращаться к MySQL, вы начнете делать больше запросов, и в итоге вы захотите сделать запросы на основе ввода пользователем. Другими словами, вместо того, чтобы смотреть на WHERE column2 = 2, вы захотите, чтобы пользователь мог указать, интересуется ли он 2 или 4 или 7 и выполняет запрос на основе данных, которые они ввели через форму. Когда вы доберетесь до этого момента, обязательно абсолютно уверен, что вы используете подготовленные операторы, а не только запрос, построенный в строке (выше мы просто использовали строку). Вы можете найти примеры использования подготовленных заявлений here for mysqli и here for PDO.

0

Вы можете использовать этот вид оператора SQL:

выберите wantedcolumn из wantedtable где column1contents = valuewanted и column2contents = valuewanted

Вот пример. Ваша таблица называется продукты, и каждый продукт имеет идентификационный номер (так называемый ID), код товара (называемый Артикул) и имя элемента (так называемый ItemName) и содержит эти данные:

ID ItemCode ItemName 
1  123A  Screws 
2  456B  Bolts 

Теперь, чтобы выбрать болты на основе совпадения двух значений, вы используете этот оператор SQL:

Выберите ItemName из продуктов, где ID = 2 и ItemCode = "456B";

Смежные вопросы