Bizzet Posted March 20, 2013 Share Posted March 20, 2013 Okay, so basically what I want to is create an API using PHP which will allow my program to check if a column within a table contains a certain string. For example, Say I enter www.mywebsite.com/api.php?word="ANY WORD" The script would echo true or false if the database contained that word or not. I am using a MySQL database and I have no idea how to go about this. ======================================================================= <?php try { $username = '******'; $password = '******'; $conn = new PDO('mysql:host=******;dbname=**********', $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { echo 'ERROR: ' . $e->getMessage(); } $stmt = $pdo->prepare('SELECT COUNT(*) FROM wordlist WHERE words LIKE :aword'); $stmt->execute(array('aword' => "%{$_GET['word']}%")); return ($stmt->fetchColumn() != 0); ?> What did I do wrong? I get this error Fatal error: Call to a member function prepare() on a non-object in ***** on line 11 I barley know PHP.... Link to comment https://forums.phpfreaks.com/topic/275929-check-if-column-within-mysql-database-contains-a-string/ Share on other sites More sharing options...
Jessica Posted March 20, 2013 Share Posted March 20, 2013 I barley know PHP....How corny. Might be rice to learn it. $pdo is not defined. The error tells you. Look at your code carefully, what is $pdo? Link to comment https://forums.phpfreaks.com/topic/275929-check-if-column-within-mysql-database-contains-a-string/#findComment-1419857 Share on other sites More sharing options...
Bizzet Posted March 20, 2013 Author Share Posted March 20, 2013 How corny. Might be rice to learn it. $pdo is not defined. The error tells you. Look at your code carefully, what is $pdo? <?php try { $username = '******'; $password = '*****'; $conn = new PDO('mysql:host=5;dbname=*****', $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { echo 'ERROR: ' . $e->getMessage(); } $stmt = $conn->prepare('SELECT COUNT(*) FROM wordlist WHERE words LIKE :aword'); $stmt->execute(array('aword' => "%{$_GET['word']}%")); return ($stmt->fetchColumn() != 0); ?> Sorry for the obvious mistake... How exactly would I make it echo true or false if the database contains the string though? Link to comment https://forums.phpfreaks.com/topic/275929-check-if-column-within-mysql-database-contains-a-string/#findComment-1419866 Share on other sites More sharing options...
Jessica Posted March 20, 2013 Share Posted March 20, 2013 I think you need to tell it what column to fetch. Give you count an alias (like count_words) then you can fetch that column. Link to comment https://forums.phpfreaks.com/topic/275929-check-if-column-within-mysql-database-contains-a-string/#findComment-1419885 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.