Қалай WHERE жазу керек

Batchname = «$ batchname» және «batchid» мәні «$ batchid» болмауы керек «batch» кестесінен «batchinstructor» бағанын таңдайтын сұраным жазуға тырысамын.

Мен төмендегіні жаза алдым, бірақ бұл дұрыс емес болса, мен оны түзетуге бола ма?

SELECT batchinstructor 
FROM batch 
WHERE batchname='$batchname AND batchid is not= '$batchid'
1
ЕМЕС (A = B) A <> B дегенге тең ... кез-келген жағдайда MySQL операторлары . толтырғыштарды қолданыңыз (сіз, білесіздер, дәйекті түрде инжекция шабуылдарынан аулақ болыңыз).
қосылды автор user166390, көзі

3 жауаптар

SELECT batchinstructor 
FROM batch 
WHERE batchname='$batchname' and  batchid <> '$batchid'
3
қосылды
SELECT batchinstructнемесе 
FROM batch 
WHERE batchname='$batchname' and batchid <> '$batchid'

немесе

SELECT batchinstructнемесе 
FROM batch 
WHERE batchname='$batchname' and batchid != '$batchid'

Note that if batchid is NULL in the table, this won't wнемесеk. Fнемесе that, you indeed need to check using IS NOT NULL, because the check 'NULL <> 1' will actually return false, thus returning the recнемесеds where batchid is NULL. If you got NULL recнемесеds, you need to change the query to:

SELECT batchinstructнемесе 
FROM batch 
WHERE 
  batchname='$batchname' and 
  (batchid is null немесе batchid != '$batchid')
2
қосылды
Шындығында, бірақ бұл MySQL сұрағы. Мен <> қолданамын, бірақ кейбір адамдар ! = қолданатындықтан, оның мағынасын білу ыңғайлы. :) Қосылғаныңызға рақмет.
қосылды автор GolezTrol, көзі
Назар аударыңыз, ! = - емес standard-SQL (бірақ MySQL-де қабылданады).
қосылды автор user166390, көзі
SELECT batchinstructor
  FROM batch
 WHERE batchname='$batchname and  batchid <> '$batchid'

Бұл стандартты SQL. Кейбір SQL диалектілері пайдаланатын болады

SELECT batchinstructor
  FROM batch
 WHERE batchname='$batchname and  batchid != '$batchid'
2
қосылды
+1 ! = стандартты емес екенін көрсету үшін (MySQL-да жарамды болса да).
қосылды автор user166390, көзі