Я очень новичок в mysql, и я хочу выбрать столбец, сопоставляя два значения.Написание PHP Mysql-запроса
Это мой запрос
$q = Select column1 from table where column1, column2=2 ;
Я очень новичок в mysql, и я хочу выбрать столбец, сопоставляя два значения.Написание PHP Mysql-запроса
Это мой запрос
$q = Select column1 from table where column1, column2=2 ;
Если вы хотите, чтобы соответствовать значению определенного столбца с заданным значением, используйте только этот конкретный столбец в 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
В 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.
Вы можете использовать этот вид оператора SQL:
выберите wantedcolumn из wantedtable где column1contents = valuewanted и column2contents = valuewanted
Вот пример. Ваша таблица называется продукты, и каждый продукт имеет идентификационный номер (так называемый ID), код товара (называемый Артикул) и имя элемента (так называемый ItemName) и содержит эти данные:
ID ItemCode ItemName
1 123A Screws
2 456B Bolts
Теперь, чтобы выбрать болты на основе совпадения двух значений, вы используете этот оператор SQL:
Выберите ItemName из продуктов, где ID = 2 и ItemCode = "456B";
Итак, вы хотите совместить только 'column2'? (Также попробуйте изучить некоторые sql. Вот один ресурс для обучения http://dwbi.org/database/sql) – hashbrown
Вы не отметили, на каком языке вы работаете - работаете ли вы на PHP? –