[gelöst] Sql UPDATE INTO
am 28.03.2011 - 08:59 Uhr in
Hallo wie mach ich ein INSERT INTO DB in Drupal richtig, damit keine Sicherheitslücken entstehen? Ich hab z.B ein ContentTyp name: TestContentTyp mit einem Feld: field_status_test_content_typ, nun möchte ich über PHP in das Feld " field_status_test_content_typ" einen Wert setzen? Ein normaler INSERT INTO ist ja nicht empfehlenswert bzw. nicht sicher, wie mach ich das Sicher, und wie sieht der INSERT aus wenn ich das Feld "füllen" möchte bzw. Überschreiben?
gruß Hacky
- Anmelden oder Registrieren um Kommentare zu schreiben

Das Ganze kannst Du hier
am 28.03.2011 - 09:12 Uhr
Das Ganze kannst Du hier nachlesen:
http://api.drupal.org/api/drupal/includes--database.inc/group/database/6
Sollte der Wert von einem
am 28.03.2011 - 10:07 Uhr
Sollte der Wert von einem User Input kommen solltest Du zu Sicherheit
noch check_plain benutzten:
db_query('INSERT INTO content_type_ field_status_test_content_typ = "%s"',check_plain($deinwert));
Überschreiben wäre dann ein UPDATE Query
Gruss
Was macht das check_plain()
am 28.03.2011 - 10:29 Uhr
Was macht das check_plain() genau ?
Also da ich nur ein UPDATE machen möchte und kein INSERT(xD) hab ich das nun mal so probiert.
Aber:
user warning: Table 'testdrupal.testcontenttyp' doesn't exist query: UPDATE TestContentTyp SET `field_status_test_content_typ` = '1' where nid = 3 and type ='' in C:\xampp171\htdocs\TestDrupal\includes\common.inc(1696) : eval()'d code on line 10.Bin leider noch kein sin MSQL pro wo das gleich Versteht, wo liegt den der Fehler nun genau ?
<?php
// Beispiel
$nid = "3";
$typ = "TestContentTyp";
$field_status_test_content_typ = "1";
// field_status_test_content_typ Überschreiben WO nid,Typ
db_query("UPDATE {TestContentTyp} SET `field_status_test_content_typ` = '%s' where nid = %d and type ='%s'", $field_status_test_content_typ, $nid, $type);
?>
gruß
Check Plain erstetzt HTML
am 28.03.2011 - 10:40 Uhr
Check Plain
erstetzt HTML Charakter in HTML Enbtities:
< in <> in >
http://api.drupal.org/api/drupal/includes--bootstrap.inc/function/check_...
Der Fehler ist oben geschrieben:
Die Tabelle testcontenttyp gibt es nicht.
Sie mal in phpmyadmin nach.
Wenn Du in Drupal einen Contenttypen Namens TestContentTyp erstellst, erstellt Drupal
eine Tabelle namen content_typ_testcontenttyp.
Deine Tabelle müsste also content_typ_testcontenttyp heissen.
LG
Oh okay dann werd ich das
am 28.03.2011 - 10:47 Uhr
Oh okay dann werd ich das noch mit einbauen (Check Plain);
Vielen dank nun klappt es =)
LG
hacky