Toon posts:

[PHP/SQL] Ander commando voor getOne() commando

Pagina: 1
Acties:
  • 40 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik moet een stukje code gebruiken om een database te synchronizeren, echter er wordt een commando gebruikt getOne wat mij onbekend is en dus ook niet werkt op de server, volgens mij is het een specifieke pear code (heb ik me laten vertellen).

Nu zoek ik dus een "normale" sql commando wat hetzelfde doet

Dit is het stukje code wat niet werkt
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function seq_update(&$item)
{
        global $dbi2;
    $number_u =$dbi2->getOne("SELECT MAX(id) FROM $item");
    if($number_u > 1)
    {
        $dbi2->nextID($item);
        if($dbi2->getOne("SELECT id FROM " . $item . "_seq") < $number_u)
        {
            $number_u += 1;
            $dbi2->query("UPDATE " . $item . "_seq SET id='$number_u'");
        }

    }
}

$tables = array('users', 'zones', 'records', 'domains');
array_walk($tables, 'seq_update');


Ik krijg bij deze functie de volgende error te zien
Fatal error: Call to a member function getOne() on a non-object in e:\path\to\website\on\the\server\dnsentry.php on line 65
(de error komt zowel lokaal bij mij voor (windows) als via de webserver (Plesk op redhat9))
Line 65 is dus: $number_u =$dbi2->getOne("SELECT MAX(id) FROM $item");

Deze code wordt gebruikt om een powerDNS sql database te synchroniseren via poweradmin, dit is nodig als je zelf handmatig (via script) gegevens in de db hebt gezet.
Daar ik een script heb wat zelf direct in de DB van powerDNS schrijft is het dus nodig dat ik ook direct na elke handeling synchroniseer anders kunnen mensen niet met de poweradmin interface werken.

De DNS server kent het commando blijkbaar wel (zitten specifieke package op) maar de webserver niet. In powerAdmin werkt dit dus zonder problemen echter dit draait op de DNS server zelf. Dit script staat op een andere webserver.

Kan iemand met vertellen welk "normaal" commando ik kan gebruiken zodat ook dit stukje gaat werken, want van dat pear snap ik niks van en ik snap niet helemaal wat dat getOne nu precies doet.

[ Voor 16% gewijzigd door Verwijderd op 03-05-2005 15:34 ]


  • dennisvz
  • Registratie: Mei 2003
  • Laatst online: 24-02 12:08

dennisvz

Intentionally left blank

Ik weet het niet zeker, ik ken deze db-abstractielaag niet, maar ik denk dat 'getOne()' ervoor zorgt dat je exact 1 rij terugkrijgt. Kun je in plaats van dat commando het 'normale' commando gebruiken om records op te halen uit database, iets van getAll() of query() gok ik.

  • mjax
  • Registratie: September 2000
  • Laatst online: 06-05 10:41
getOne($query) doet volgens mij ongeveer hetzelfde als array_shift(mysql_fetch_array(mysql_query($query)))

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 22:49

curry684

left part of the evil twins

Dude, doe anders even [google=getOne pear] met die informatie die je al hebt :X

Professionele website nodig?


Verwijderd

Topicstarter
Zoeken op google voor getone heb ik weinig aan omdat de server dit niet ondersteund, ik ga toch echt niet eerst de hele manual doornemen of een cursus Pear volgen voor 1 pear commando wat ik daarna nooit meer nodig heb. Daar heb ik dus geen tijd voor.

Ik heb het al even snel bekeken maar kwam er zo snel niet uit, wat ik zoek is gewoon een standaard mysql commando wat hetzelfde doet als dat getOne commando.

Er zullen toch wel mensen zijn die de materie reeds beheersen en me een vergelijkbaar commando kunnen adviseren.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Ik neem aan dat getOne gewoon één record of één veld ophaalt. Een beetje zoals dit in MySQL zou doen:
PHP:
1
$var = mysql_result(mysql_query("SELECT iets")), 0);

Maar je maakt mij niet wijs dat je de functionaliteit van getOne niet hebt kunnen vinden op Google? :?

[ Voor 4% gewijzigd door NMe op 03-05-2005 16:41 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Anyway, dit had je zo moeten kunnen vinden met een beetje moeite. Ik ken zelf het commando getOne ook niet, sterker nog: ik heb nooit met Pear gewerkt, en toch heb ik er geen moeite mee. Op slot dus. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 22:49

curry684

left part of the evil twins

Verwijderd schreef op dinsdag 03 mei 2005 @ 16:37:
Zoeken op google voor getone heb ik weinig aan omdat de server dit niet ondersteund, ik ga toch echt niet eerst de hele manual doornemen of een cursus Pear volgen voor 1 pear commando wat ik daarna nooit meer nodig heb. Daar heb ik dus geen tijd voor.
Uh hit 3 uit die Google-link:
Description
Fetch the first column of the first row of data returned from a query. The function takes care of doing the query and freeing the results when finished.
Met die informatie en de PHP manual moet je hier echt binnen een minuut uit kunnen komen hoor 8)7

Professionele website nodig?

Pagina: 1

Dit topic is gesloten.