Beste SQL mensen, daar ik wel wat weet van mysql maar niet alles, even de volgende vraag:
ik wil in een TEXT-veld zoeken naar een trefwoord dat via een form kan worden ingegeven. Wat is hiervoor de SQL-opdracht? Stel het TEXT-veld heet 'omschrijving' en de tabel 'crypto'.
<?
$query = "
SELECT
omschrijving
FROM
crypto
WHERE
omschrijving LIKE '%".mysql_real_escape_string($_POST['zoek'])."%'
";
?>
En dan de query uitvoeren.
Uiteraard niet getest!
Edit: @Peter: addslashes() is flink achterhaald, gebruik die niet meer. Daarmee vervuil je jouw database.
Goed dat het is gelukt. Voor die andere melding moeten we lijn 76 even zien.
De melding houd in dat je een array index probeert op te roepen die niet bestaat. Vaak is dit op te lossen door eerst te controleren of het bestaat, voordat je het gebruikt, voorbeeld:
// de klasse om te verbinden en de query weer te geven
class connection
{
var $host;
var $user;
var $password;
var $db_name;
var $connection;
var $db_select;
var $query;
var $result;
var $zoek;
var $bgcolor;
function connect()
{
$connection=mysql_connect($this->host,$this->user,$this->password) or die("kan geen verbinding maken");
$db_select=mysql_select_db($this->db_name, $connection) or die("kan geen verbnding maken");
$zoek=$_POST["zoekwoord"];
$connection_3=new connection;
$connection_3->host="localhost";
$connection_3->user="root";
$connection_3->password="";
$connection_3->db_name="crypto";
$connection_3->query="SELECT * FROM omschrijvingen WHERE omschrijving LIKE '%".$zoek."%'";
$connection_3->connect();
$connection_3->show();
}
//wanneer er een crypto wordt toegevoegd
elseif(isset($_POST["send"]))
{
$connection_1=new connection;
$connection_1->host="localhost";
$connection_1->user="root";
$connection_1->password="";
$connection_1->db_name="crypto";
$connection_1->query="SELECT * FROM omschrijvingen";