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.... Quote 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? Quote 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 (edited) 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? Edited March 20, 2013 by Bizzet Quote 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. Quote 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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.