WithoutBrain1994 39 ارسال شده در آذر 91 گزارش بازنشر ارسال شده در آذر 91 (ویرایش شده) سلامتوی خط 107 این کد این ارور رو میدهWarning: mysql_query(): supplied argument is not a valid MySQL-Link resource on line 107 <?phpclass mysqldb {/*FILL IN YOUR DATABASE DETAILS BEFORE RUNNING THE EXAMPLE*/var $hostname = "localhost";var $username = "user";var $password = "pass";var $database = "db";function db_connect() {$result = mysql_connect($this->hostname,$this->username,$this->password);if (!$result) {echo 'Connection to database server at: '.$this->hostname.' failed.';return false;}return $result;}function select_db() {$this->db_connect();if (!mysql_select_db($this->database)) {echo 'Selection of database: '.$this->database.' failed.';return false;}}function query($query) {$result = mysql_query($query) or die("Query failed: $query<br><br>" . mysql_error());return $result;mysql_free_result($result);}function fetch_array($result) {return mysql_fetch_array($result);}function num_rows($result) {return mysql_num_rows($result);}function last_insert_id() {return mysql_insert_id();}function kill() {mysql_close();}}?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>jQuery</title><script type="text/javascript" src="js/jquery.js"></script><link rel="stylesheet" type="text/css" href="css/css.css" /><script type="text/javascript">var count = 0;$(function(){$('p#add_field').click(function(){count += 1;$('#container').append('<strong>Link #' + count + '</strong><br />'+ '<input id="field_' + count + '" name="fields[]' + '" type="text" /><br />' );});});</script><body><?php//If form was submittedif (isset($_POST['btnSubmit'])) {//create instance of database class$db = new mysqldb();$db->select_db();//Insert static values into users table$sql_user = sprintf("INSERT INTO users (Username, Password) VALUES ('%s','%s')", mysql_real_escape_string($_POST['name']), mysql_real_escape_string($_POST['password']) );$result_user = $db->query($sql_user);//Check if user has actually added additional fields to prevent a php errorif ($_POST['fields']) {//get last inserted userid$inserted_user_id = $db->last_insert_id();//Loop through added fieldsforeach ( $_POST['fields'] as $key=>$value ) {$table = "CREATE TABLE mysql_real_escape_string($value)(id INT(11) NOT NULL AUTO_INCREMENT,PRIMARY KEY(id),name CHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,)";mysql_query($table,$result);//Insert into websites table$sql_website = sprintf("INSERT INTO websites (Website_URL) VALUES ('%s')", mysql_real_escape_string($value) );$result_website = $db->query($sql_website);$inserted_website_id = $db->last_insert_id();//Insert into users_websites_link table$sql_users_website = sprintf("INSERT INTO users_websites_link (UserID, WebsiteID) VALUES ('%s','%s')", mysql_real_escape_string($inserted_user_id), mysql_real_escape_string($inserted_website_id) );$result_users_website = $db->query($sql_users_website);}} else {//No additional fields added by user}echo "<h1>User Added, <strong>" . count($_POST['fields']) . "</strong> website(s) added for this user!</h1>";//disconnect mysql connection$db->kill();}?><?php if (!isset($_POST['btnSubmit'])) { ?><h1>New User Signup</h1><form name="test" method="post" action=""> <label for="name">Username:</label> <input type="text" name="name" id="name" /> <div class="spacer"></div> <label for="name">Password:</label> <input type="text" name="password" id="password" /> <div class="spacer"></div> <div id="container"> <p id="add_field"><a href="#"><span>» Add your favourite links.....</span></a></p> </div> <div class="spacer"></div> <input id="go" name="btnSubmit" type="submit" value="Signup" class="btn" /></form><?php } ?></body></html> لطفا کمک کنیدخط 107 این کد نوشته شدهmysql_query($table,$result); ویرایش شده آذر 91 توسط Morteza کدهای بلند در longbox نقل قول لینک به ارسال
rezaonline 2655 ارسال شده در آذر 91 گزارش بازنشر ارسال شده در آذر 91 این کلاس وضعش داغونهاما واسه اینکه کارت راه بی افته به جای mysql_query باید بزنی$db->query($qr); 2 نقل قول لینک به ارسال
WithoutBrain1994 39 ارسال شده در آذر 91 مالک گزارش بازنشر ارسال شده در آذر 91 مرسیاین کدی که گذاشتین دقیقا جایگزین کردم نشداین کد رو هم جایگزین کردم بازم نشد$db->query($table,$result);اگه میشه این رو خودتون امتحان کنید و درستش رو برام بفرستین، خیلی لازمش دارمخیلی ممنون میشماگه این کد رو نمیتونین درست کنید یه چیزی شبیه این بهم معرفی کنیدمن میخوام با jquery به فرمم تکتست باکس اضافه کنم و با php به درون پایگاه داده از اطلاعات تکست باکسها جدول بسازماون کدی که من بالا گذاشتم کارش همینه ولی به جای اینکه جدول بسازه اطلاعات رو توی جدول های از پیش تعیین شده وارد میکنه نقل قول لینک به ارسال
rezaonline 2655 ارسال شده در آذر 91 گزارش بازنشر ارسال شده در آذر 91 syntaxات مشکل داره عمو .$table = "CREATE TABLE mysql_real_escape_string($value)(id INT(11) NOT NULL AUTO_INCREMENT,PRIMARY KEY(id),name CHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,)";صحیح$table = "CREATE TABLE " . mysql_real_escape_string($value) ."(id INT(11) NOT NULL AUTO_INCREMENT,PRIMARY KEY(id),name CHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,)";میشه توضیح بدین دقیقا میخواین چیکار کنین؟این کاری که شما انجام میدید خیلی خطرناکه .دستی دستی داری باگ sql injaction ایجاد میکنی توی سایتت .فقط خودت ازش استفاده کن . 2 نقل قول لینک به ارسال
WithoutBrain1994 39 ارسال شده در آذر 91 مالک گزارش بازنشر ارسال شده در آذر 91 (ویرایش شده) من یه فرم دارم که ممکنه یکی از اطلاعاتش از یکی بیشتر باشه و به خاطر همین باید یه کاری کنم که امکان اضافه کردن تکست باکس هنگام اجرای فرم رو داشته باشهو میخوام اطلاعات اون تکست باکس ها هرکدومش به یک جدول تبدیل بشهدر ضمن از این قابلیت فقط خودم میخوام استفاده کنم و به کاربر مربوط نمیشهحالا اگه شما راه حل دیگه رو میدونین بهم بگیناون کد بالا رو هم جایگذین کردم بازم نشد ویرایش شده آذر 91 توسط reza_t نقل قول لینک به ارسال
WithoutBrain1994 39 ارسال شده در دی 91 مالک گزارش بازنشر ارسال شده در دی 91 من کد رو ویرایش کردملطفا بگین مشکل این یکی چیه. اطلاعاتی که توی تکست باکس ها مینویسیم رو نمایش میده ولی جدول رو نمیسازه<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>jQuery</title><script type="text/javascript" src="adding form/js/jquery.js"></script><link rel="stylesheet" type="text/css" href="adding form/css/css.css" /><script type="text/javascript">var count = 0;$(function(){ $('p#add_field').click(function(){ count += 1; $('#container').append( '<strong>جدول #' + count + '</strong><br />' + '<input id="field_' + count + '" name="fields[]' + '" type="text" /><br />' ); });});</script><body><?phpif (isset($_POST['btnSubmit'])) {$result = mysql_connect("localhost","user","pass") or die(mysql_error());mysql_select_db("db") or die(mysql_error()); if ($_POST['fields']) { foreach ( $_POST['fields'] as $value ) { echo $value . "<br>"; $tb = "CREATE TABLE $value(id INT(11) NOT NULL AUTO_INCREMENT,PRIMARY KEY(id),name CHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,)";mysql_query($tb,$result); } } echo "<h1>جدول ساخته شد</h1>"; mysql_close();}?><?php if (!isset($_POST['btnSubmit'])) { ?> <h1>ساخت جدول جدید</h1> <form name="test" method="post" action=""> <div id="container"> <p id="add_field"><a href="#"><span>» اضافه کردن جدول جدید....</span></a></p> </div> <div class="spacer"></div> <input id="go" name="btnSubmit" type="submit" value="ساختن" class="btn" /> </form><?php } ?></body></html>لطفا کمک کنید نقل قول لینک به ارسال
Morteza 34190 ارسال شده در دی 91 گزارش بازنشر ارسال شده در دی 91 کد قبلیتون که خیلی بهم ریخته و قاطی شده بود و حقیقتش من اصلا رغبت نکردم کد رو بررسی کنم!شما باید کلاس ها رو در فایل جدا، اینکلودها در فایل جدا و بخش نمایش رو جدا می کردید.اینجوری پیدا کردن مشکل هم راحتتر میشد.در مورد کد دوم. شما $tb رو هم بزارید چاپ بشه بعد اون کوئری خروجی رو توی mysql اجرا کنید ببینید جدولی میسازه یا خیر. 2 نقل قول لینک به ارسال
WithoutBrain1994 39 ارسال شده در دی 91 مالک گزارش بازنشر ارسال شده در دی 91 $tb رو چاپ کردم و به خوبی چاپش کردکار دومی که گفتین رو متوجه نشدمکدوم کوئری خروجی؟ نقل قول لینک به ارسال
WithoutBrain1994 39 ارسال شده در دی 91 مالک گزارش بازنشر ارسال شده در دی 91 درست شد مرسی نقل قول لینک به ارسال
rezaonline 2655 ارسال شده در دی 91 گزارش بازنشر ارسال شده در دی 91 شما دقیقا بگید چی میخواید تا بشه یه راه حل منطقی گفت .بهترین سناریو اینهدو تا جدول بسازیدیکیش برای نگه داری فیلدهاتونیکیش برای مشخصات هر فرم .با کلید بهم مرتبط کنید .دیگه مشکلی مثل اینکه یکی 100 تا فیلد بخواد ، یکی 10 تا فیلد پیدا نمیکنید . 1 نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .