× This forum is read only. As of July 23, 2019, the UserSpice forums have been closed. To receive support, please join our Discord by clicking here. Thank you!

  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
User id in validate class
I'm trying to validate a form against the user's id in the validate class, using something like the following:

$query = "SELECT * FROM users WHERE username = '{$value}' AND id = {$id}";

What's the proper syntax for grabbing the id within this class?
You're looking for
$query = “SELECT * FROM users WHERE username = ? AND id = ?”,array($value,$user->data()->id));
This throws the following error on the corresponding line:

Parse error: syntax error, unexpected ',' in /home/public/users/classes/Validate.php
Sorry about that...I was mainly focused on the end of your query and missed the beginning.
$query = $db->query("SELECT * FROM users WHERE username = ? AND id = ?",array($value,$user->data()->id));

Then if you want all the results it is
$results = $query->results();

If you only need the first row or only expect one row and don't want to loop through results,
$first = $query->first();

If you only need to know the number of rows returned...
$count = $query->count();
It's now returning the following error:

Fatal error: Call to a member function query() on null in /home/public/users/classes/Validate.php

Are the user details not being fetched?
I'm not really sure why this is happening in the Validate class. One thing to note that if you modify our class and then update, you could lose those changes. It's probably better to create a Validate2.php class.

That said, take a look at the User class since it does db queries.

You need a construct....
$this->_db = DB::getInstance();

Then when you construct your queries it is
$query = $this->_db->query(" your query....


Forum Jump:

Users browsing this thread: 1 Guest(s)