PDOでデータベースに接続して、UUIDが一致しているところを抽出したいです。
PHPのPDOを使って、UUIDが一致しているレコードからデータを抽出し、Chrome拡張のBrowserに表示するプログラムを作っています。
データベース自体には接続できたのですが、データを抽出するところでハマっています。
xdomainの無料のPHP・MYSQLデータベースを使っています。
データベースは、
id(varchar36)name(varchar255)
uuid データ
の形をとっています。
該当のソースコード
PHP
1//consult.php 2 3<?php 4try{ 5 //$usr = $_GET[key]; //取得するユーザのUUID,getで受信 6 7 $pdo = new PDO('mysql:dbname=@@;host=@@;charset=utf8','','',array(PDO::ATTR_EMULATE_PREPARES => false)); 8 9 10 $sql1 = "select*from new where 'id'='3d5cb9a5-69b0-7b0b-38dd-84bc08c7acdc' "; //SQL文の定義 11 $smt = $pdo->query($sql1);//SQL文を実行 12 13 14 foreach ($smt as $row) { 15 echo $row[name];//標準出力で表示 16 } 17 18} 19catch (PDOException $e){ 20 exit('ERROR'.$e->getMessage()); 21 22} 23 24?>
JavaScript
1 2//ajax.js 3 4p1 = /(https?|ftp)(://[-_.!~*\'()a-zA-Z0-9;/?:\@&=+$,%#]+)/; 5 6window.onload = function(){ 7 8 var XHR = new XMLHttpRequest; 9 XHR.open('GET', 'http://xdomain/consult.php', true); 10 XHR.onreadystatechange = function(){ 11 12 if (4==this.readyState){ 13 var status = this.status; 14 15 if (400>status){ 16 var responseText = this.responseText; 17 18 if (responseText){ 19 document.getElementById('result').innerHTML= responseText; 20 21 if(responseText.match(p1)){ 22 chrome.tabs.create({url: responseText}); 23 } 24 } 25 } 26 } 27 }; 28 XHR.send(); 29 30}
html
1<html> 2<head> 3 <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/> 4 <title>Server Sample Program</title> 5 <script src="ajax.js"></script> 6</head> 7<body> 8 <div id="result">Point</div> 9</body> 10</html> 11
試したこと
foreachのところでエラーがでたので、以下のURLの通りに直したのですが、データ抽出は出来ませんでした。
http://kotori-blog.com/php/foreach_error/
補足情報(FW/ツールのバージョンなど)
Chrome拡張のversionは2です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/25 16:34
退会済みユーザー
2018/03/25 16:34