اذهب إلى المحتوى

السؤال

نشر

يطلع لي هذا الخطأ وش الحل

Fatal error: Uncaught mysqli_sql_exception: Can't create database 'hajj'; database exists in C:\xampp\htdocs\cs211\hello1.php:11 Stack trace: #0 C:\xampp\htdocs\cs211\hello1.php(11): mysqli_query(Object(mysqli), 'CREATE DATABASE...') #1 {main} thrown in C:\xampp\htdocs\cs211\hello1.php on line 11

هذا كود النموذج.  ملف Fram1.html

<html>
<head>
<title> HAJJ </title>
</head>
<body BGCOLOR ="#81d4fa" >

<form action="hello1.php" method="post"> username:<br> 
<input type="text"name="username">
<br> <br>
password:<br>
 <input type="password" id="password" name="password"><br><br>
<input type="submit">
</body>
</html>

وهذا ملف Hello1.php

<html>
 <head> 
 <title>Hajj</title>
 </head>
<?php

$con= mysqli_connect('localhost','root','')
or die('Error connecting to MySQL server.');

$q1="CREATE DATABASE hajj";
if (mysqli_query($con,$q1))
{ echo "Database created successfully"."<br>"; }

if ($con= mysqli_connect('localhost','root','','hajj'))

{ echo "Database is already created and it is selected"."<br>";} 
else 
{ echo "Error creating or selecting database"; }

$q2= "CREATE TABLE users (username VARCHAR(8) NOT NULL,password INT(8) NOT NULL);";
if (mysqli_query($con,$q2))
{echo "Table created successfully"."<br>"; }
else { echo "Error creating Table"; }


$username=$_POST['username'];
$password=$_POST['password'];
$q3 = "INSERT INTO users VALUES ('$username','$password');";
 if (mysqli_query($con, $q3))
{ echo "New record created successfully"; }
else { echo "Error creating record! " ; } 

?>
</html>

 

Recommended Posts

  • 0
نشر
  • الخطأ بسيط إن شاء الله، يقول  Can't create database 'hajj'; database exists بمعنى لا يمكن إنشاء قاعدة البيانات "hajj"، قاعدة البيانات موجودة أصلاً ! فلا يمكننا إنشاء قاعدتي بيانات بنفس الاسم في نفس المكان، أليس هذا منطقياً ؟
  • يمكنك حلّ المشكلة عن طريق مراعاة حالة أننا قد قمنا بإنشاء قاعدة البيانات سلفاً، فيمكنك استخدام تعبير try catch للقيام بذلك، والذي يحاول تنفيذ الكتلة البرمجية بعد try فإن لم يستطع التنفيذ لوجود خطأ ما يقوم بتنفيذ الكتلة البرمجية بعد catch التي تأخذ كمعامل لها الخطأ الحاصل.
$q1="CREATE DATABASE hajj";
try{
	$result = mysqli_query($con,$q1);
	if ($result)
		{ echo "Database created successfully"."<br>"; }
} catch(error) {
	// ضع هنا ما تريد القيام به في حال حدث الخطأ
	// كمثال
	echo "Database is already exists";
}

الفائدة: ما يهم هو أن تعلم سبب الخطأ، أنه لا يمكنك إنشاء قاعدتي بيانات بنفس الاسم في نفس المكان، والحل هو أن تقوم بمراعاة هذه الحالة بالتحقق من وجود قاعدة البيانات قبل إنشائها، وإنشائها فقط في حالة كانت غير منشأة.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...