MAYSQLコマンドをPHPで行うにあたりまして、そのコマンドに使うパラメーターが、コマンドする度に変化する場合、SQL文そのものが、PHPでリライトされる仕組みを作りたいと思っております。試しにやってみると、web上にそれらしいSQLのテキストが生まれるところまでは出来るのですが、それが、PHPプログラムとして動くわけではなく、本当に「単なるテキスト」としてweb上に存在してしまいます。
PHPのプログラムそのものが動的に変わるPHPプログラムって、あり得るのでしょうか?
			
ページ: 1
| 投稿者 | 投稿 | 
|---|---|
| 
				
				 #1 2011 年 12 月 9 日(金) 9:10 
			 | 
		|
| 
				会員
				
				 登録者: 12 2011 
				返信数: 3 
				
			 | 
			
				 MAYSQLコマンドをPHPで行うにあたりまして、そのコマンドに使うパラメーターが、コマンドする度に変化する場合、SQL文そのものが、PHPでリライトされる仕組みを作りたいと思っております。試しにやってみると、web上にそれらしいSQLのテキストが生まれるところまでは出来るのですが、それが、PHPプログラムとして動くわけではなく、本当に「単なるテキスト」としてweb上に存在してしまいます。 
			PHPのプログラムそのものが動的に変わるPHPプログラムって、あり得るのでしょうか?  | 
		
| 
				
				 #2 2011 年 12 月 13 日(火) 15:39 
			 | 
		|
| 
				管理者
				
				 登録者: 2 2008 
				返信数: 4 
				
			 | 
			
				 もちろん PHP プログラムから PHP のソースコードを生成することも可能です。そこで生成された PHP のソースコードをその場で実行するには eval() 関数を使えば良いです。 
			<?php $php_code = '$hoge = "hoge"; echo $hoge;'; eval($php_code); ?> でも SQL 文を条件によって書き換える位であれば、eval() を使わなくても SQL 文を動的に生成すれば可能だと思います。 <?php $id = '777'; $dname = 'ichijoureimei1'; $shindata = 'joureimei2'; $sql = sprintf("UPDATE jorei SET %s='%s' WHERE ID='%s'", $dname, $shindata, $id); <略> mysql_query($sql);  | 
		
| 
				
				 #3 2011 年 12 月 14 日(水) 9:15 
			 | 
		|
| 
				会員
				
				 登録者: 12 2011 
				返信数: 3 
				
			 | 
			
				 koyhoge様ありがとうございました。お蔭様で解決です。結局。お勧めのsprintfで処理しましたが、eval()も興味津々で、トライしてみたいと思います。 
			 | 
		
ページ: 1
日本PHPユーザ会 掲示板 は UseBB 1 フォーラムソフトウェア を使用しています