Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou com o seguinte problema..
Eu quero criar uma classe que executará query X.
O problema é que ao chamar a função eu envio $query-X até ai beleza, ele vai executar querie x.
Mas eu ainda preciso preencher os dados do WHERE. Como eu não sei quantos WHERES eu vou precisar usar eu teria que receber uma array com todos WHERES em ordem.
Eu pensei em dar um explode no $string e transformar em uma array. Mas são consultas dinamicas. Eu não tenho controle do que a pessoa vai digitar.
Alguem conhece alguma solução? Ou como eu posso enviar uma array ao chamar a função.
O código.
class SQLqrys {
/*
* DEFININDO AS QUERIES
*/
$query = array (
1 => "SELECT `userid` FROM `login` WHERE `userid` = '%s'", //Login existe.
2 => "SELECT * FROM `login` WHERE `userid` = '%s' AND `id` = '%d'", //Todos dados tabela login userid = x
)
function getQRY($qry_x,$string) {
$stringRes = explode(", ", $string);
for($i = 0; $i <= count($stringRes); $i++) {
$con = printf($qry_x, $stringRes[$i]);
$qry_x = $con;
}
$result = mysql_query($con);
return $result;
}
Não testei mas essa era minha ideia.. Mas ela seria falha pq o usuario pode digitar ", " dar erro em tudo.
Então alguem tem alguma solução?
Grato.
Carregando comentários...