- ベストアンサー
他のPHPで計算して出した値をPHP内で実行したい
- クーロンを使用してhttp://hoge.jp/data.php?id=7203の株価情報を取得し、WEB上に表示する仕組みを作成したが、その結果をMySQLのテーブルに継続的にインサートする方法を知りたい。
- 現在のコードでは、<?php ?> の中に別の<?php ?>が含まれているため、インサートができない。
- 株価情報を「7203,トヨタ,3080」という形でまとめて取得しており、個別に取得することはできない。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
echoのところが明らかにおかしい またINSERT文を発行するなら文字列はクォーテーションでかこってね file_get_contents()で"7203,トヨタ,3080"が得られたとした場合の サンプルを書いておきます <?php mysql_connect("localhost","root","hogehoge"); //$stock = file_get_contents('http://hoge.jp/data.php?id=7203'); $stock = "7203,トヨタ,3080"; $stock = mysql_real_escape_string($stock); $stock = "'".str_replace(",","','",$stock)."'"; $sql ="INSERT INTO table (id,company,stock_price)"; $sql.=" values(".$stock.")"; print $sql; ?>
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
先にfile_get_contentsして、変数にでも入れておけばいいのでは?
補足
ご提案有難うございます。 下記の2つをテストしてみました。 しかしながら、インサートができません。 (PHPはエラーにはなりませんが、インサートだけが出来ません) どこに問題があるかご教授頂けませんでしょうか? 宜しくお願い致します。 **************************************************** <?php $stock = file_get_contents('http://hoge.jp/data.php?id=7203'); ?> <?php $con = mysql_connect("localhost","root","password"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("db", $con); mysql_query(" INSERT INTO table (id,company,stock_price) values (echo $stock;) "); $close_flag = mysql_close($con); ?> ***************************************************** <?php $stock = file_get_contents('http://hoge.jp/data.php?id=7203'); ?> <?php $con = mysql_connect("localhost","root","password"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("db", $con); mysql_query(" INSERT INTO table (id,company,stock_price) values ($stock;) "); $close_flag = mysql_close($con); ?> *****************************************************
お礼
有難うございました。 ご指摘頂きましたサンプルをもとに無事対応することが出来ました。 助かりました。 心より御礼申し上げます。