Jump to content

difficolta' con query


Recommended Posts

in un file comm.php incluso in blockmyaccount ho la funzione per richiamare il commerciale di riferimento in base all'utente loggato. ho creato un campo sellers_id nella tabella customer e uso questa query per trovare il campo:

$id=intval($cookie->id_customer);
$sellers_query = tep_db_query("SELECT sellers_id FROM " . TABLE_PS_CUSTOMER . " WHERE id_customer = $id");

purtroppo appena la inserisco non mi carica piu' il sito.

cosa puo' esserci di sbagliato?

grazie

Link to comment
Share on other sites

Ciao,
se nel file /config/config.inc.php modifichi

@ini_set('display_errors', 'off');
define('_PS_DEBUG_SQL_', false);

in

@ini_set('display_errors', 'on');
define('_PS_DEBUG_SQL_', true);

il sito mostrerà gli errori e potrai capire cosa c'è che non va.
ciao

Link to comment
Share on other sites

vabbè avevo fatto errori. comunque ho sostituito con:

global $cookie;
$id=$cookie->id_customer;
$sellers_query = mysql_query("select sellers_id from " . PS_CUSTOMERS . " where customers_id = '1'");
$sql = mysql_query("$sellers_query") or die (mysql_error());
$sellers = mysql_fetch_array($sellers_query);
$seller_id = $sellers['sellers_id'];

ma adesso l'errore della query mi riporta: QUERY WAS EMPTY.

Suggerimenti?

Link to comment
Share on other sites

vabbè avevo fatto errori. comunque ho sostituito con:

global $cookie;
$id=$cookie->id_customer;
$sellers_query = mysql_query("select sellers_id from " . PS_CUSTOMERS . " where customers_id = '1'");
$sql = mysql_query("$sellers_query") or die (mysql_error());
$sellers = mysql_fetch_array($sellers_query);
$seller_id = $sellers['sellers_id'];

ma adesso l'errore della query mi riporta: QUERY WAS EMPTY.

Suggerimenti?


Hai un errore nella query.

la cosa migliore in questi casi è di mettere un print $sql; alla fine e incollare la query in phpmyadmin per vedere se esegue qualche cosa.

1) PS_CUSTOMERS -> intanto la tabella si chiama "customer" al singolare
2) PS_ -> il prefisso se vuoi fare un lavoro universale lo prendi dalla costante: _DB_PREFIX_
3) perché PS_CUSTOMERs l'hai messa fuori dalle virgolette? se non è una variabile?
4) sellers_id non so cosa sia non lo conosco, forse è una modifica fatta apposta alla tabella? VERIFICA
5) customers_id non esite, esiste id_customer
5) comunque la query, usando l'apposita classe di prestashop sarebbe:

$sql='SELECT sellers_id FROM '._DB_PREFIX_.'customer where id_customer ='.$id;

$customers=Db::getInstance()->ExecuteS($sql); questo prende una array ($customers) con tutti i risultati


$customer=Db::getInstance()->getRow($sql); questo prende una solo risultato ($customer) - meglio mettere un LIMIT e un ORDER in fondo alla query per essere sicuri.
Link to comment
Share on other sites

$sql=‘SELECT sellers_id FROM ‘.DB_PREFIX.‘customer where id_customer =’.$id;

ho provato ad inserire questa qui sopra come l'hai indicata tu...
ma mi da errore:

Parse error: syntax error, unexpected T_STRING in ...... on line 43

che è apputo questa riga.

Per il resto avevi ragione....ho sbagliato un po' di nomi!!
Grazie!!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...