Hey ich bin mal wieder ziemlich am verzweifeln.
Ich trage meine Daten eigentlich bei vielen anderen Webseiten so in die Datenbank doch diesmal Zweifel ich gerade wirklich daran was ich falsch mache. Ich hole mir Daten von einer Externen Datenbank. Das Funktioniert auch aber wenn ich es in meine Datenbank eintragen möchte bekomme ich immer folge fehler meldungen wenn ich das über $db->quote( VARIBALE ) eintragen möchte.
" 0 - Call to a member function quote() on null"
wenn ich auf " $db->quoteName( VARIABLE )) " bekomme ich diese fehler meldung
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-DE = `Dominosteine` , alias_de-DE = `dominosteine-an-11721` , short_descripti' at line 29
mit der line nummer kann ich garnichts anfangen um da nach dem Fehler zu suchen. Hier ist mal die Input abfrage.
function PRODUKTINFO ($produkt) {
$produktalias = strtolower($produkt[3]);
$produktalias = str_replace(" ", "-", $produktalias);
$produktalias = str_replace("ä", "ae", $produktalias);
$produktalias = str_replace("ü", "ue", $produktalias);
$produktalias = str_replace("ö", "oe", $produktalias);
$produktalias = str_replace("ß", "ss", $produktalias);
$alias = $produktalias."-an-".$produkt[1];
$db = JFactory::getDbo();
$query = $db->getQuery( true )
->select( $db->quoteName( 'product_ean' ) )
->from( $db->quoteName( '#__jshopping_products' ) )
->where( $db->quoteName( 'product_ean' ) . ' = ' . $db->quote( $produkt[1] ) );
$db->setQuery( $query );
$count = $db->loadResult();
$creatdate = date("Y-m-d H:i:s",time());
$introtext = "<p>".$produkt[6]." ".$produkt[7]." ".$produkt[8]."</p>";
if ( !$count ) {
$db = JFactory::getDbo();
$query = $db->getQuery( true )
->insert( $db->quoteName( '#__jshopping_products' ) )
->set ('parent_id = ' .$db->quoteName($produkt[1]))
->set ('product_ean = ' .$db->quoteName($produkt[1]))
->set ('manufacturer_code = ' .$db->quoteName('0'))
->set ('product_quantity = ' .$db->quoteName('0.00'))
->set ('unlimited = ' .$db->quoteName('0'))
->set ('product_publish = ' .$db->quoteName("1"))
->set ('product_tax_id = ' .$db->quoteName("1"))
->set ('currency_id = ' .$db->quoteName("1"))
->set ('product_template = ' .$db->quoteName("default"))
->set ('product_old_price = ' .$db->quoteName($produktdate[9]))
->set ('product_buy_price = ' .$db->quoteName($produktdate[9]))
->set ('product_price = ' .$db->quoteName($produktdate[9]))
->set ('min_price = ' .$db->quoteName($produktdate[9]))
->set ('product_weight = ' .$db->quoteName($produktdate[10]))
->set ('product_manufacturer_id = ' .$db->quoteName('0'))
->set ('product_is_add_price = ' .$db->quoteName("0"))
->set ('add_price_unit_id = ' .$db->quoteName("0"))
->set ('average_rating = ' .$db->quoteName("0.00"))
->set ('reviews_count = ' .$db->quoteName("0"))
->set ('delivery_times_id = ' .$db->quoteName("0"))
->set ('hits = ' .$db->quoteName("0"))
->set ('weight_volume_units = ' .$db->quoteName("0.0000"))
->set ('basic_price_unit_id = ' .$db->quoteName("0"))
->set ('label_id= ' .$db->quoteName("0"))
->set ('vendor_id = ' .$db->quoteName("0"))
->set ('main_category_id = ' .$db->quoteName("1"))
->set ('access = 1')
->set ('name_de-DE = ' .$db->quoteName($produkt[3]))
->set ('alias_de-DE = ' .$db->quoteName($alias))
->set ('short_description_de-DE = nichts drin')
->set ('description_de-DE = nichts drin')
->set ('meta_title_de-DE = ' .$db->quoteName($produkt[3]))
->set ('meta_description_de-DE = ' .$db->quoteName(" "))
->set ('meta_keyword_de-DE = ' .$db->quoteName($produkt[3]))
->set ('name_en-GB = ' .$db->quoteName($produkt[3]))
->set ('alias_en-GB = ' .$db->quoteName($alias))
->set ('short_description_en-GB = nichts drin')
->set ('description_en-GB = nichts drin')
->set ('meta_title_en-GB = ' .$db->quoteName($produkt[3]))
->set ('meta_description_en-GB = nichts drin')
->set ('meta_keyword_en-GB = ' .$db->quoteName($produkt[3]));
$db->setQuery( $query );
if ( !$db->execute() ) {
return false;
}
return $db->insertid();
}else { }
}
Alles anzeigen
Und anbei habe ich mal die Datenbank gepackt.
Es ist eine MySQL 8.0 datenbank.
Der Server läuft auch auf PHP 8
Und ich benutze Joomla 4