2017-04-03 1 views
-2

Ich habe bereits die Dokumente von CI gelesen, aber ich stehe immer noch Fehler in Bezug auf meine Abfrage. Ich habe meine Antwort gepostet und hoffe, dass du mir dabei helfen kannst.Unbekannte Spalte erscheint weiterhin

$code = $_SESSION['affiliate_code']; 
    $email = $this->db->query('select email from affiliates where referral_code = '.$code); 

, was passiert ist, dass die Abfrage wie folgt aussieht

select email from affiliates where referral_code = dTE7TkDcOa86; 

erstellt werden, sondern um es zu arbeiten, wie

select email from affiliates where referral_code = 'dTE7TkDcOa86'; 

sein sollte Wie kann ich meinen Code Arbeit richtig zu machen? Ich schätze Ihre Hilfe dabei. Vielen Dank.

+1

Gerade Anführungszeichen hinzufügen, auf diese Weise, dass als String nehmen. $ email = $ this-> db-> query ('Email von Affiliates wählen, wo referral_code =' '. $ Code.' "'); –

+1

Ich habe das und den gleichen Fehler festgestellt siehe andere Antworten unter @blacmoon –

+0

$ email = $ this-> db-> query ("wählen Sie eine E-Mail von Affiliates, wo Referral_code = '" .trim ($ code). "'"); dann ändern Sie die Anführungszeichen. Wenn Ihr $ -Code enthält $ –

Antwort

0
$email = $this->db->query("SELECT email FROM affiliates WHERE referral_code = '$code'"); 
    $email2 = $email->result_array(); 
    foreach($email2 as $key) { 
     echo $key['email']; 
    } 
0

Try this:

$email = $this->db->query("select email from affiliates where referral_code ='{$code}'"); 

Aber besser wäre Prepared Statements sein:

$sql = $this->db->query("select email from affiliates where referral_code = ?"); 
$email = $this->db->execute($sql, array($code)); // Or something like this 
+1

Ich versuchte Sie Lösung und ich habe eine Fehlermeldung, die 'Objekt der Klasse CI_DB_mysqli_result konnte nicht in String umgewandelt werden' –

+1

Sorry Ich bin neu darin. Was meinst du mit vorbereiteten Aussagen? –

+0

$ sql = $ this-> db-> query ("E-Mail von Affiliates auswählen wo referral_code =?"); $ email = $ this-> db-> ausführen ($ sql, array ($ code)); // Oder so etwas –

0

wie folgt tun:

$email = $this->db->query("select email from affiliates where referral_code = '$code'"); 
+1

das macht $ code zu einem String-Wert und nicht mehr zu einer Variable –

+0

nein es wird den Wert ausgeben, weil die äußeren Anführungszeichen doppelt und keine Anführungszeichen sind. –

+1

gleich mit den anderen Antworten. Ich habe einen Fehler gefunden, der besagt, dass Objekt der Klasse CI_DB_mysqli_result nicht in String konvertiert werden kann. Kannst du mir dabei helfen? –

0

Bitte versuchen Sie diese

$email = $this->db->query("select email from affiliates where referral_code = '".$code."' "); 
Stilllegung

Verwendung: -

$this->db->select('email')->from('affiliates')->where('referral_code',$code); 
$query = $this->db->get(); 
+1

Hallo, Ich habe versucht, Ihre Lösung zu verwenden, aber ich habe eine Fehlermeldung, dass Objekt der Klasse CI_DB_mysqli_result konnte nicht in Zeichenfolge –

+0

ich verwendet wurde Ihre zweite Lösung aber immer noch gleichen Fehler –

+0

Wie Sie Ihr Ergebnis drucken. –