Nu har jeg da godt nok aldrig siddet med mysqli, men efter et hurtigt studie på php.net burde du skrive while($obj=$Res->fetch_object()), fetch_object returnere et object baseret på en data row i resultatet, du kan skrive et hviklet som variable navn i stedet for obj.
Inde i løkken skal du så hente data ud af $obj og ikke $Res og uden jeg skal være helt sikker er jeg temmelig sikker på at hente fra feltnavne der ikke eksisterer er en fejl på et eller andet ekstitentielt plan. Du har "Select Navn ..." men har $Res->Name og endnu være har du $Res->Id uden at have den i select.
Kan selvfølgelig være jeg tager fejl så kun på det i 3-5 minutter.
At du ikke forstod mit eksempel fra før er måske godt eftersom at jeg trods alt synes det var en dårlig ide. Ville bare vise at jeg kunne komme med den dårligste ide
For at sørge for at andre ikke kommer med en dårligere ide er den nu gjort værer, virker dog kun i php 5.3+
- <?php
- class DB{
-
- static function addQuery($name,$query){
- $i=substr_count($query, "[ARG]");
- for($j=0;$j<$i;$j++){
- $query=preg_replace("/\[ARG\]/" ,'".func_get_arg('.($j+1).')."',$query,1 );
- }
-
- file_put_contents("queries/".$name.".dbq",'<?php $query="'.$query.'";$c='.$i.';?>');
- }
-
- static function query($name){
- if(!file_exists("queries/".$name.".dbq")){
- return "No";
- }
- include("queries/".$name.".dbq");
- if(func_num_args()==$c+1){
- ///...connect stuff
- return mysql_query($query);
- }else{
- return "No";
- }
- }
- static function queryP($name){
- if(!file_exists("queries/".$name.".dbq")){
- return "No";
- }
- include("queries/".$name.".dbq");
- if(func_num_args()==$c+1){
- ///...connect stuff
- echo $query;
- return mysql_query($query);
- }else{
- return "No";
- }
- }
-
- public static function __callStatic($name, $arguments) {
- call_user_func("DB::query",array_merge(array($name),$argumentsr));
- }
- }
-
- //should be put in an admin section to create new or update queries
- DB::addQuery("getUser","SELECT * FROM useres WHERE id=[ARG]");
- DB::addQuery("getPresident","SELECT * FROM president WHERE id=[ARG]");
-
- DB::query("getUser",124);
- DB::query("getPresident","USA");
-
- DB::getUser(124);
- DB::getPresident("USA");
- ?>
PS. har ikke selv 5.3+ så ikke sikker på det virker
Indlæg senest redigeret d. 01.06.2009 09:57 af Bruger #5620