본문 바로가기
MySql

MySQL PHP 변수로 MySQL 테이블 만들기

by 베이스 공부 2021. 2. 7.
반응형

이름이 $ name 변수 내에 저장된 값의 값인 테이블을 만들려고합니다. 나는 수많은 다른 방법을 시도했지만 아무도 나를 위해 일하지 않는 것 같습니다. 현재 사용중인 코드는 다음과 같습니다.

 mysql_connect("localhost", "peltdyou_admin", "123456") or die(mysql_error()); 
 mysql_select_db("peltdyou_orders") or die(mysql_error()); 
 mysql_query("CREATE TABLE '" .$_POST['name']. "' ( name VARCHAR(30), age INT, car VARCHAR(30))");

나는 그것이 ' ". $ _ POST ['name ']."'와 관련이 있다는 것을 알고 있지만 무엇을 할 수는 없습니다. 나는 그 자리에 '$ name'을 시도하여 코드에서 더 높은 가치를 얻었습니다.

어떤 도움이라도 좋을 것입니다!

 

해결 방법

 

따옴표가 아니라 테이블 이름 주위에 백틱을 사용하십시오. 그리고 입력을 피하십시오! 또한 이것이 localhost에서 작동하는 동안 프로덕션 서버에서 실행중인 사용자에게 테이블을 만들 수있는 권한 이 있는지 확인하십시오 (일반적으로 공유 호스팅에서는 AFAIK가 아닙니다).

경고 : 정말 사용자 입력에 대한 표를 만드시겠습니까 ?? 이런 식으로 몇 개의 테이블을 만들 예정입니까? 대신 을 삽입하도록 전체를 다시 디자인하면 안 되나요?

$name = mysql_real_escape_string($_POST['name']);
mysql_query("CREATE TABLE `".$name."` ( name VARCHAR(30), age INT, car VARCHAR(30))");

 

참조 페이지 https://stackoverflow.com/questions/11003751

 

 

반응형

댓글